30

我有一个基于 JavaScript 的库,我想将其包含在 Meteor JS 应用程序中。库源代码托管在 Git 存储库中,我想将存储库作为子模块包含在我自己的 Meteor 应用程序源代码存储库中。但是,我不需要 Meteor 处理的大部分文件,只需要几个选定的文件。确实,当它看到子模块中的许多文件时,Meteor barfs 会出现“错误:无法解析 .. um .. some HTML file, on some line. sorry”。

有没有办法选择性地将文件列入白名单或黑名单以包含在项目目录中的 Meteor 应用程序中?除了创建一个智能包之外,还有什么方法可以在我的 Meteor 应用程序项目目录中包含外部资源,例如 Git 子模块。

更新:正如“如何创建包”的相关问题中所解释的,如果您将智能包创建到 Meteor 本身的本地 Git 签出中,您将获得包中代码的热重载行为。

4

5 回答 5

34

除了/publicjonathan 提到的目录之外,Meteor 还会忽略任何以“.”开头的目录。- 所以你可以创建一个.submodules目录并将文件放在那里,Meteor 不会加载它们。

这可能比让他们参与更可取,/public因为他们不是公开的。

于 2012-05-03T00:32:18.887 回答
19

更新:在即将发布的 Meteor (0.6.5) 中有一个private目录,您可以在其中放置客户端无法访问且不会自动加载到服务器上的文件。Assets全局对象和 API 允许您读取这些文件。

于 2013-08-04T23:22:31.700 回答
2

现在还支持.meteorignore文件(Meteor v1.5.2.1)。它的工作原理与.gitignore.

您可以在项目的任何目录中使用它们,并与文件监视系统完全集成。

于 2017-10-19T08:34:12.100 回答
0

不,唯一的方法是编写一个导入脚本。

如果您不知道,可以使用 /public 目录来保存所有文件。

但是,就我个人而言,我不会认为这是一个问题,因为您肯定不只是想根据特定路径导入文件,如果他们更改代码以添加新的所需文件,您的文件也会中断。这不是我想在部署时找到的东西,而是为依赖项版本的每次更改做计划。

于 2012-05-03T00:26:40.013 回答
0

听起来有点奇怪,但在Meteor 1.3中有..

/imports

..directory,不是由流星自动包含的。

它是“意思”/名称建议的,用于您从其他代码“导入”的模块。但是你也可以将它用于你自己的应用程序代码,我认为它是一个更好的应用程序代码名称/private,但这是我个人的看法:-)

于 2017-03-20T00:51:38.570 回答