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

спасибо за чтение

У меня проблема, надеюсь какая-то ориентация, потому что всегда работал только с бутстрапом. Никогда с css, js или шаблонами. Но этот случай другой.

Я купил шаблон в wrapbootstrap.com Как вы знаете, эти шаблоны поставляются с большим набором файлов, таких как js, img, шрифты и, конечно же, html. Конечно, не всегда эти пакеты находятся в NPM, и это все проблема, потому что если отсутствует только один файл, то многие компоненты почему-то работают не так, как я ожидаю. Итак, решение, хотя и не элегантное, но эффективное, заключается в том, чтобы скопировать и вставить эти файлы, которые я купил, в правильный каталог в метеоре.

Мне нужно интегрировать этот шаблон в метеор, я нашел 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 пуст, конфликтов с ним нет
  • каталог /lib пуст
  • Работаю с Angular, AngularMeteor, UiRoute.
  • На данный момент весь html находится в imports\ui\components\views\inicio\inicio.html
  • Невозможно переименовать файлы js с номером перед именем, например _1appear.js, шаблон так не работает
  • Порядок загрузки указан в шаблоне, как у моего client/main.js.
  • Если я помещу свои файлы js в client/compatibility, появится больше ошибок.
  • Я новичок в Meteor, но не в Tempaltes Web, я интегрировал больше шаблонов в полный стек с помощью yeoman и grunt, никаких проблем, но в метеоре это очень сложно.

person TigerSpirt    schedule 13.10.2016    source источник
comment
getScript() является асинхронным; это не сработает. Вы должны обернуть эти файлы в модули.   -  person SLaks    schedule 13.10.2016
comment
@SLaks Привет друг. Итак, когда вы советуете мне завернуть эти файлы в модули, как я это сделал? например: мой файл public/js/custom.js начинается в строке 1 с (функция ($) { код.. код.. как мне обернуть модуль? с угловым метеором?   -  person TigerSpirt    schedule 13.10.2016
comment
С модулями ES6 (import и export), точно так же, как вы уже делали это в main.js.   -  person SLaks    schedule 13.10.2016
comment
@SLaks Ваш совет Работает почти полностью. Проблема только с двумя файлами из isotope (isotope.pkgd.min.js и packery-mode.pkgd.min.js). Когда я импортирую эти файлы, консоль отправляет мне сообщение об ошибке: Uncaught Error: No layout mode: packery. Хорошей новостью является то, что «Библиотека изотопов» доступна в NPM и Admosphere, но почти полностью не решает проблему. Вот почему мне нравится копировать и вставлять оригинальные файлы .js в свой проект. Большое спасибо, мы близки к решению проблемы. Спасибо еще раз.   -  person TigerSpirt    schedule 13.10.2016


Ответы (1)


Вам нужно портировать эти файлы для использования модулей (или найти уже упакованные версии в npm), чтобы их можно было связать в правильном порядке с остальной частью вашего JS-кода.

person SLaks    schedule 13.10.2016
comment
Чувак, большое спасибо за внимание, но я не могу тебя понять. Позволь мне объяснить. Я импортирую свои файлы .js следующим образом: import '../public/js/custom.js'; .......... Эти файлы загружаются очень хорошо, за исключением моей новой проблемы с Isotope. Вы говорили о «в комплекте», что вы имеете в виду под «в комплекте»? Спасибо. - person TigerSpirt; 14.10.2016