2016-07-05 2 views
1

Я сейчас работаю над проектом, и у меня есть некоторые проблемы, которые я хотел бы поделиться. Я купил тему, которая не построена для метеор. На самом деле это чистый HTML, который я адаптирую к методу Метеор.Убедитесь, что импортированные файлы JavaScript будут работать после коммутируемых маршрутов

Говорят, что импортируют некоторые файлы JS, чтобы заставить его работать правильно. После того, как некоторые проблемы, мне удалось импортировать их таким образом, что это можно правильно загрузить их:

Template.ApplicationLayout.onRendered(function() { 
    import '../ui/components/js/core/source/App.js'; 
    import '../ui/components/js/core/source/AppNavigation.js'; 
    import '../ui/components/js/core/source/AppOffcanvas.js'; 
    import '../ui/components/js/core/source/AppCard.js'; 
    import '../ui/components/js/core/source/AppForm.js'; 
    import '../ui/components/js/core/source/AppNavSearch.js'; 
    import '../ui/components/js/core/source/AppVendor.js'; 
}); 

Однако всякий раз, когда я переключаюсь между маршрутами, они своего рода перестают работать, то можно увидеть некоторые ошибки на HTML , Я использую железо-маршрутизатор, чтобы отслеживать его.

Мне было интересно, будет ли способ обеспечить правильную загрузку JS и не прекратит работать независимо от коммутируемых маршрутов.

Заранее спасибо.

ответ

0

Поскольку это не специфичный для метеорита JavaScript, нет необходимости его импортировать таким образом. Вы можете просто добавить эти файлы в папку «public» в своем веб-браузере, а затем добавить теги сценария в раздел «head» вашего макета, как и с обычным HTML.

См аналогичный вопрос об обслуживании статических файлов здесь: https://stackoverflow.com/a/21341394/4699406

+0

Я переместил все эти JS файлы на/папки, и казалось, что они работают должным образом. Однако, когда я переключаю маршруты, по-прежнему сохраняется ошибка. В обоих случаях мне нужно обновить страницу, чтобы я загрузил ее правильно. Так или иначе, они загружаются только на той странице, которую я впервые вижу. –

+0

Я боялся, что это случится после того, как я отправил свой ответ, извините. Чтобы заставить внешние скрипты работать, вы обычно должны инициализировать их при onrendered. https://docs.meteor.com/api/templates.html#Template-onRendered Как и то, что вы делали ранее, но вместо импорта загруженных файлов вы вызывали функцию initialize для импортированных скриптов. Можете ли вы рассказать мне, какой шаблон вы используете или загружаете файлы сценариев где-нибудь? –

+0

Вы должны отказаться от моего ответа, так как это вам не поможет. –

Смежные вопросы