忽略Meteor JS项目目录中的文件

时间:2012-05-03 00:07:55

标签: git meteor

我有一个基于JavaScript的库,我想在Meteor JS应用程序中包含它。库源代码托管在Git存储库中,我想将repo作为子模块包含在我自己的Meteor应用程序的源代码库中。但是,我不需要Meteor处理的大部分文件,只需要几个选择的文件。事实上Meteor barfs的“错误:无法解析..嗯..某些HTML文件,在某些行上。抱歉”当它看到子模块中的许多文件时。

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

更新:正如"How to create a package"的相关问题中所解释的,如果您在Meteor本地的Git签出中创建智能包,则会获得包中代码的热重载行为。

5 个答案:

答案 0 :(得分:34)

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

这可能比/public更好,因为它们不公开。

答案 1 :(得分:19)

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

答案 2 :(得分:2)

现在还支持.meteorignore文件(Meteor v1.5.2.1)。它与.gitignore完全相同。

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

答案 3 :(得分:0)

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

如果您不知道,可以使用/ public目录将所有文件都包含在内。

我个人不会认为这是一个问题,因为你肯定不想根据某个路径导入文件,如果他们改变了他们的代码来添加一个新的必需文件,你的文件也会破坏。这不是我想要在部署时找到的东西,而是计划每次更改依赖项的版本。

答案 4 :(得分:0)

这听起来有点奇怪,但在流星1.3 中有...

/imports

..目录,不是meteor自动包含的。

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