3 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
當(dāng)require被賦予文件夾的路徑時(shí),它將在該文件夾中查找index.js文件; 如果有,則使用它,如果沒(méi)有,則失敗。
最有意義的是(如果你可以控制文件夾)創(chuàng)建一個(gè)index.js文件然后分配所有“模塊”然后只需要它。
yourfile.js
var routes = require("./routes");
index.js
exports.something = require("./routes/something.js");exports.others = require("./routes/others.js");
如果您不知道文件名,則應(yīng)編寫(xiě)某種加載器。
裝載機(jī)的工作示例:
var normalizedPath = require("path").join(__dirname, "routes");require("fs").readdirSync(normalizedPath).forEach(function(file) { require("./routes/" + file);});// Continue application logic here

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊
我建議使用glob來(lái)完成該任務(wù)。
var glob = require( 'glob' )
, path = require( 'path' );
glob.sync( './routes/**/*.js' ).forEach( function( file ) {
require( path.resolve( file ) );
});

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
基于@tbranyen的解決方案,我創(chuàng)建了一個(gè)index.js文件,在當(dāng)前文件夾下加載任意javascripts作為其中的一部分exports。
// Load `*.js` under current directory as properties
// i.e., `User.js` will become `exports['User']` or `exports.User`
require('fs').readdirSync(__dirname + '/').forEach(function(file) {
if (file.match(/\.js$/) !== null && file !== 'index.js') {
var name = file.replace('.js', '');
exports[name] = require('./' + file);
}
});
然后你可以require從任何其他地方的這個(gè)目錄。
添加回答
舉報(bào)