2012-02-27 104 views
1

在我的茉莉花節點spec_helper我有require("../app/test"),它拉test文件就好了。但如果我嘗試require("../app/*"),我得到Error: Cannot find module '../app/*'茉莉花節點需求*

有沒有辦法來拉這樣的目錄的所有文件/子目錄?

回答

2

有幾種方法可以完成您想要的任務,最簡單的方法是在./app目錄中創建index.js。這index.js又將引用的所有模塊目錄內,並將其導出:

exports.foo = require("./foo"); 
exports.bar = require("./bar"); 

如果要動態做到這一點,你將不得不寫一些代碼:

var fs = require("fs"); 

fs.readdir("./app", function(err, files) { 
    if(err) console.error(err); 
    for(var i = 0, len = files.length; i < len; i++) { 
     require("./app/" + files[i]); 
    } 
}); 

欲瞭解更多信息節點如何加載模塊,特別是here's the relevant docs和約folders as modules

不幸的是,傑德的答案在這裏是錯誤的。