2013-08-26 196 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 

問候

/意志