确保导入的JavaScript文件在切换路由后可用

时间:2016-07-05 14:06:35

标签: javascript jquery meteor iron-router

我正在研究一个项目,我正面临一些我想分享的问题。我买了一个不是为流星而建的主题。它实际上是一个纯HTML,我正在适应Meteor方式。

据说导入一些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正确加载并且无论切换路线如何都不会停止工作。

提前致谢。

1 个答案:

答案 0 :(得分:0)

由于这不是特定于流量的JavaScript,因此无需以这种方式导入。您只需将这些文件添加到名为" public"的文件夹中即可。在您的webroot中,然后将脚本标记添加到' head'布局的一部分就像使用普通HTML一样。

在此处查看有关提供静态文件的类似问题:https://stackoverflow.com/a/21341394/4699406