Javascript 如何使Grunt.js和Meteor.js协同工作?

Javascript 如何使Grunt.js和Meteor.js协同工作?,javascript,meteor,gruntjs,Javascript,Meteor,Gruntjs,我想在Meteor应用程序中使用简单的复制和连接。但当Meteor在服务器和客户端上运行所有javascript文件时,我遇到了一个问题,而我不希望它们在任何地方运行。它要么只是像Gruntfile.js这样的配置文件,要么是我想以某种方式处理的部分js文件,然后放在client文件夹中 现在,由于应用程序根目录中有Gruntfile.js文件,我在尝试启动meteor应用程序时出现以下错误: W20130826-14:44:39.921(3)? (STDERR) /home/../../.me

我想在Meteor应用程序中使用简单的复制和连接。但当Meteor在服务器和客户端上运行所有javascript文件时,我遇到了一个问题,而我不希望它们在任何地方运行。它要么只是像Gruntfile.js这样的配置文件,要么是我想以某种方式处理的部分js文件,然后放在client文件夹中

现在,由于应用程序根目录中有Gruntfile.js文件,我在尝试启动meteor应用程序时出现以下错误:

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

我知道我可以对Meteor说,通过在文件名的开头添加句点来忽略文件或文件夹,它可以使用.grunfile.js文件名,但在这种情况下,Grunt当然不起作用。那么我怎样才能让他们一起工作呢?我怎么能告诉Meteor忽略任何文件或文件夹而不重命名它?

我不知道Meteor是如何工作的,但您可以使用以下命令更改Grunfile名称:

grunt --gruntfile .Gruntfile.js

您可以将meteor应用程序放在子目录中,并将node_模块和grunt文件保持在顶层:

./Gruntfile
./package.json
./node_modules
./app/.meteor
./app/<other meteor files>
/grunfile
/package.json
/node_模块
./app/.meteor
/应用/

您可以在项目根目录中放置一个名为“private”的文件夹,当Meteor正在构建(Meteor版本0.8.1)时,不会考虑该文件夹

那就做吧

cd private
grunt watch
致意


/Wille

我可以对node_modules文件夹执行同样的操作吗?不,很遗憾,您不能。Meteor将其目录中的每个js/coffee文件视为Meteor应用程序的一部分,因此问题不在于名称,而在于相对位置。同意,这更有意义,特别是如果您想对配置文件执行字符串替换。您的模板可以与GrunFile一起存在于根目录中,您可以将其移动到meteor目录并进行更改。
cd private
grunt watch