Я не могу интегрировать веб-шаблон, приобретенный в Meteor

#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. Вы говорили о «связанном», что вы имеете в виду «связанном»? Спасибо.