Meteor css 和 javascript 文件加载最佳实践

Meteor css and javascript files loading best practice

TL,DR: 如何加载 css 和 javascript 文件而不依赖 Meteor 关于字母顺序的假设(这远从它在实践中是如何工作的。)

Whosebug 告诉我这个问题可能是主观的,但我希望不是。

Meteor 根据字母顺序(和其他规则)加载文件。
因此,为了强制它按我想要的顺序加载 CSS 和 JS 文件,我必须以指示加载顺序的数字开始字段。如果我有 jquery.jsbootstrap.js,Meteor 将在 jquery.js 之前加载 bootstrap.js。但是 bootstrap 依赖于 jquery 所以 jquery 必须先加载。

为了解决这个问题,选项是:
1、将文件放在public目录下,手动加载。但这没有用,因为 Meteor 似乎正在发送 text/html MIME 类型的文件。
2. 创建一个 Meteor 包并从那里指定加载顺序。我发现这就像用锤子打苍蝇只是为了加载 CSS 和 Javascript.
3.在每个文件前放一个数字。在前面的示例中,要在 bootstrap 之前加载 jquery,将字段重命名为 1.jquery.js2.bootstrap.js 这可行而且很乏味,但至少我可以按照这种方式加载文件我希望他们。

我是 Meteor 的新手,所以我想知道是否有关于此的推荐最佳实践。我正在考虑将 AMD 用于 javascript,但仅限于 javascript。

这是一个有趣的问题,这可能是制作 Meteor 应用程序的陷阱之一。

您已经提到了所有可用的解决方案,例如创建显式包或重命名文件。

我认为最好的方法是使用大气包。例如,如果您添加 bootstrap,jquery 是它的依赖项,因此它将始终首先加载。大多数涉及加载顺序的js库通常都在大气中。

如果没有气氛包,另一个最好的方法是在 js 文件前面放一个数字来指示加载顺序,虽然我不确定我会说是乏味的。

一件事是当你使用 /public 文件夹时,文件映射到 /,所以你可以按照你想要的顺序手动加载 js 文件(在根 html file using /public. Meteor returns the text/html MIME type as its version of a 404 file not found error. 这种方法有点麻烦,因为文件在生产中是分开的如果一个或另一个不加载,可能会造成麻烦。