#angularjs #meteor #webpage #angular-meteor
#angularjs #meteor #веб-страница #angular-meteor
Вопрос:
спасибо за чтение
У меня проблема, я надеюсь, что какая-то ориентация, потому что я всегда работал только с bootstrap. Никогда с css, js или шаблонами. Но этот случай отличается.
Я купил шаблон в wrapbootstrap.com Как вы знаете, эти шаблоны поставляются с большим набором файлов, таких как js, img, шрифты и, конечно же, html. Конечно, не всегда эти пакеты находятся в NPM, и это проблема, потому что, если отсутствует только один файл, по какой-то причине многие компоненты работают не так хорошо, как я ожидаю. Итак, решение, хотя и не элегантное, но эффективное, заключается в копировании и вставке этих файлов, которые я купил, в правильный каталог в meteor.
Мне нужно интегрировать этот шаблон в meteor, я нахожу в веб Meteor.startup()
-справке. Этот код помогает немного решить, но не решает проблему.
У меня следующая проблема: иногда шаблон хорош, работает нормально и очень хорошо, иногда очень, очень плохо и бесконечные ошибки. Далее изображение
Как вы можете видеть: окно справа идеально, все хорошо. Окно слева плохое и с ошибками. Почему?иногда хорошо, иногда плохо
далее моя файловая структура:
мой файл client/main.js имеет следующие строки:
import angular from 'angular';
import angularMeteor from 'angular-meteor';
import uiRouter from 'angular-ui-router';
import 'bootstrap/dist/css/bootstrap.css';
import 'bootstrap/dist/js/bootstrap.js';
import {name as Inicio} from '../imports/ui/components/views/inicio/inicio';
class Main {} // EMPYT
Meteor.startup(function () {$.getScript('js/jquery-2.1.3.min.js', function () {});});
Meteor.startup(function () {$.getScript('bootstrap/js/bootstrap.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/jquery.superslides.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/jquery.mb.YTPlayer.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/jquery.magnific-popup.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/owl.carousel.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/jquery.simple-text-rotator.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/imagesloaded.pkgd.js', function () {});});
Meteor.startup(function () {$.getScript('js/isotope.pkgd.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/packery-mode.pkgd.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/appear.js', function () {});});
Meteor.startup(function () {$.getScript('js/jquery.easing.1.3.js', function () {});});
Meteor.startup(function () {$.getScript('js/wow.min.js', function () {});});
Meteor.startup(function () {$.getScript('js/jqBootstrapValidation.js', function () {});});
Meteor.startup(function () {$.getScript('js/jquery.fitvids.js', function () {});});
Meteor.startup(function () {$.getScript('js/jquery.parallax-1.1.3.js', function () {});});
Meteor.startup(function () {$.getScript('js/smoothscroll.js', function () {});});
Meteor.startup(function () {$.getScript('http://maps.google.com/maps/api/js?sensor=true', function () {});});
Meteor.startup(function () {$.getScript('js/gmaps.js', function () {});});
Meteor.startup(function () {$.getScript('js/contact.js', function () {});});
Meteor.startup(function () {$.getScript('js/custom.js', function () {});});
const name = 'main';
export default angular.module('myApp', [
angularMeteor,
uiRouter,
Inicio
])
.config(config);
function config($locationProvider, $urlRouterProvider, $stateProvider) {
'ngInject';
$locationProvider.html5Mode(true);
$urlRouterProvider.otherwise('/inicio');
}
Мои вопросы:
- Хороший ли способ импортировать подобные файлы?
- Я делаю что-то не так?
- Существует другой способ?
Пожалуйста, нужна помощь, потому что я не понимаю документацию по файловой структуре. Мне нужен пример. Спасибо за ваше время и прочитайте
Дополнительные примечания:
- Мой файл
client/main.less
— empyt, с ним нет конфликта /lib
каталог — это empyt- Я работаю с Angular, AngularMeteor, UiRoute
- На данный момент весь html находится в
importsuicomponentsviewsinicioinicio.html
- Невозможно переименовать файлы js с номером перед именем, например _1appear.js , шаблон не работает таким образом
- Порядок загрузки такой, как указано в шаблоне, например, как у моего
client/main.js
. - Если я помещу свои js-файлы в a
client/compatibility
, появится больше ошибок. - Я новичок в Meteor, но не в Tempaltes Web, я интегрировал больше шаблонов в fullstack с yeoman и grunt, никаких проблем, но в meteor это очень сложно.
Комментарии:
1.
getScript()
является асинхронным; это не сработает. Вы должны обернуть эти файлы в модули.2. @ SLaks Привет, друг. Итак, когда вы советуете мне обернуть эти файлы в модули, как я это сделал? например: мой файл public/js/custom.js начните в строке 1 с (function ($) { code.. code.. как я могу перенести его в модуль? с angular-meteor?
3. С модулями ES6 (
import
иexport
), точно так же, как вы уже делали в main.js .4. @SLaks Ваш совет, он работает почти полностью. Проблема только с 2 файлами из isotope (isotope.pkgd.min.js и packery-mode.pkgd.min.js ) Когда я импортирую эти файлы, консоль отправляет мне сообщение об ошибке: Неперехваченная ошибка: Нет режима компоновки: packery. Хорошей новостью является то, что «Библиотека Isotope» доступна в NPM и Admosphere, но не решает проблему почти полностью. Вот почему мне нравится копировать и вставлять исходные файлы .js в мой проект. Большое вам спасибо, мы близки к решению проблемы. Еще раз спасибо.
Ответ №1:
Вам нужно перенести эти файлы для использования модулей (или найти уже готовые версии в npm), чтобы их можно было объединить в правильном порядке с остальной частью вашего JS-кода.
Комментарии:
1. Чувак, большое тебе спасибо за внимание, но я тебя не понимаю. Позвольте мне объяснить. Я импортирую свои файлы .js следующим образом: import ‘../public/js/custom.js ‘; ………. Эти файлы загружаются очень хорошо, за исключением моей новой проблемы с Isotope. Вы говорили о «связанном», что вы имеете в виду «связанном»? Спасибо.