如何让Grunt.js和Meteor.js一起工作?

时间:2013-08-26 11:50:35

标签: javascript meteor gruntjs

我想在Meteor应用程序中使用简单的复制和连接。但是当Meteor在服务器和客户端运行所有javascript文件时我遇到了问题,而我不希望它们在任何地方运行。它只是配置文件,如 Gruntfile.js 或部分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

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

3 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:5)

您可以在项目的根目录中放置一个名为“private”的文件夹,Meteor构建时不会考虑该文件夹(Meteor版本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

祝你好运

/意志

答案 2 :(得分:2)

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

grunt --gruntfile .Gruntfile.js