2013-08-26 43 views
3

我想在我的Meteor应用程序中使用简单的复制和连接。但是当Meteor在服务器和客户端都运行所有javascript文件时,我遇到了这个问题,而我不希望它们在任何地方运行。它不是只是像Gruntfile.js配置文件或我想处理某些部分的JS文件,然后把客户端文件夹。如何让Grunt.js和Meteor.js一起工作?

现在,Gruntfile.js文件中应用程序的根试图推出流星应用程序时,我有这样的错误:

W20130826-14:44:39.921(3)? (STDERR) /home/../../.meteor/local/build/programs/server/boot.js:184 
W20130826-14:44:40.062(3)? (STDERR) }).run(); 
W20130826-14:44:40.062(3)? (STDERR) ^
W20130826-14:44:40.062(3)? (STDERR) ReferenceError: module is not defined 

我知道,我可以对流星说,通过忽略文件或文件夹在文件名的开始处添加句点,并且它与.Gruntfile.js文件名一起工作,但当然Grunt在这种情况下不起作用。那么我怎么才能让他们一起工作呢?我怎么能说流星忽略任何文件或文件夹,而无需重命名它?

回答

2

我不知道流星是如何工作的,但你可以改变gruntfile名称:

grunt --gruntfile .Gruntfile.js 
+0

我可以做同样的* node_modules *文件夹? –

+0

不幸的是你不能。 –

+0

流星将其目录中的每个js/coffee文件视为流星应用程序的一部分,因此问题不在于名称,而在于相对位置。 –

7

你可以把你的流星的应用程序在一个子目录,并保持node_modules和你的呼噜声文件中的顶级水平:

./Gruntfile 
./package.json 
./node_modules 
./app/.meteor 
./app/<other meteor files> 
+1

同意,这更有意义,特别是如果你想在配置文件上进行字符串替换。你的模板可以存在于Gruntfile的根目录下,你可以将它移动到meteor目录并进行更改。 – occasl

5

您可以在项目的根目录中放置一个名为'private'的文件夹,并且在Meteor建立时不会考虑它(Meteor version 0.8.1)。

├── client 
├── common 
├── packages 
├── private 
│   ├── Gruntfile.js 
│   ├── config.rb 
│   ├── node_modules 
│   └── package.json 
├── public 
├── server 
├── smart.json 
└── smart.lock 

然后做

cd private 
grunt watch 

问候

/意志