Meteor 加载的 css 和 js 文件的排序

Posted

技术标签:

【中文标题】Meteor 加载的 css 和 js 文件的排序【英文标题】:Ordering of the css and js files loaded by Meteor 【发布时间】:2012-04-23 22:46:45 【问题描述】:

有没有什么方法可以为 Meteor 加载的自动加载的 css 或 js 文件指定顺序。

搜索了文档,找不到任何东西。

我之所以这么问是因为我在舞台上,并且正在尝试将 Twitter Bootstrap 与 Meteor 一起使用。在 Bootstrap 附带的示例中,基本 bootstrap.css 始终在 bootstrap-responsive.css 之前加载。

有什么想法吗?

【问题讨论】:

在这里部分回答我自己的问题。似乎文件首先加载深度,如层次结构最深部分的文件,然后按字母顺序?对吗? 我已经为流星团队提交了issue 以记录加载文件的顺序。 您可以删除引导程序包并将文件添加到公用文件夹。一旦文件在那里,你可以在你的 html 中链接它们。 我在想一种方法是先使用 gulp 以正确的顺序创建 JS 和 CSS 文件。 【参考方案1】:

你是对的,用户文件首先加载深度,否则按字母顺序。

https://guide.meteor.com/structure.html#load-order

lib/ 目录和 main.* 文件是特殊情况。

包也可以改变加载顺序,但我认为任何默认包都不会这样做。

【讨论】:

@danrhul - 感谢 Geoff Schmidt 的 commit from about a year ago 逻辑现在包含在 Structuring your app 下的文档中【参考方案2】:

在 windows 上运行,其他解决方案对我不起作用,所以我只是将所有 js 文件放入 1 个文件夹并编号。 Meteor 按字母顺序加载它们。

【讨论】:

【参考方案3】:

这个问题已经在http://docs.meteor.com/得到了回答

应用程序中的 javascript 和 CSS 文件是根据 这些规则:

加载应用程序根目录下的 lib 目录中的文件 首先。

匹配 main.* 的文件在其他所有文件之后加载。

子目录中的文件在父目录中的文件之前加载, 以便首先加载最深子目录中的文件(之后 lib),根目录中的文件最后加载(除了 main.*).

在目录中,文件按字母顺序加载 文件名。

这些规则堆栈,因此在 lib 中,例如,文件仍然是 按字母顺序加载;如果有多个文件名为 main.js,子目录的加载较早。

【讨论】:

以上是关于Meteor 加载的 css 和 js 文件的排序的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Meteor 加载 Javascript 文件的顺序?

加快 Meteor.js 中的自动重新加载

main.* 中的 Meteor JS javascript 文件仍然无法正确加载。加载顺序的最佳实践?

第二个meteor学习项目——(css和main.html)

使用 k6 进行 Meteor 应用程序负载测试,等待 body 元素

在 Meteor 项目中使用 ES6 `import` 和 CSS/HTML 文件:错误还是功能?