Node.js 是否需要将所有文件夹作为文件夹中的模块?
我有很多文件夹作为包含rest api的模块,其结构如下:Node.js 是否需要将所有文件夹作为文件夹中的模块?,node.js,express,Node.js,Express,我有很多文件夹作为包含rest api的模块,其结构如下: app |— server | |— rest-api | | |— v1 | | | |— module-one | | | |— module-two | | | |— module-three | | | |— module-x | | | └── index.js | | └──... | └──... |— ... └── server.js module.exports = (fu
app
|— server
| |— rest-api
| | |— v1
| | | |— module-one
| | | |— module-two
| | | |— module-three
| | | |— module-x
| | | └── index.js
| | └──...
| └──...
|— ...
└── server.js
module.exports = (function () {
var express = require( 'express' ),
router = express.Router(),
module_one = require( './module-one' ),
module_two = require( './module-two' ),
module_three = require( './module-three' );
//...
router.use( module_one );
router.use( module_two );
router.use( module_three );
//...
return router;
})();
在v1/index.js
中,我想要避免的是:
app
|— server
| |— rest-api
| | |— v1
| | | |— module-one
| | | |— module-two
| | | |— module-three
| | | |— module-x
| | | └── index.js
| | └──...
| └──...
|— ...
└── server.js
module.exports = (function () {
var express = require( 'express' ),
router = express.Router(),
module_one = require( './module-one' ),
module_two = require( './module-two' ),
module_three = require( './module-three' );
//...
router.use( module_one );
router.use( module_two );
router.use( module_three );
//...
return router;
})();
有没有一种方法可以一次阅读所有的答案?你可以在文章中修改答案 然后像这样使用它:
loadAllModules(\uu dirname,路由器)
你可以在帖子中修改答案 然后像这样使用它:
loadAllModules(\uu dirname,路由器)
检查此模块是否满足您的节点要求
我们使用这个模块来要求所有Mongoose模式和控制器
更新:
var controllers = require('require-all')({
dirname : __dirname + '/server/rest-api/',
filter : 'index.js',
recursive : true
});
检查此模块是否满足您的节点要求
我们使用这个模块来要求所有Mongoose模式和控制器
更新:
var controllers = require('require-all')({
dirname : __dirname + '/server/rest-api/',
filter : 'index.js',
recursive : true
});
我可以在
server.js
中声明loadAllModules
并在/server/restapi/v1/index.js
中使用它吗?您可以在server.js
中的GLOBAL
下声明它,以便在任何地方都可以访问它GLOBAL.loadAllModules=函数(目录,路由器){…}
你说的\uu dirname
是什么意思?我指的是当前目录我可以在server.js
中声明loadAllModules
,并在/server/restapi/v1/index.js
中使用它吗?你可以在server.js
中的全局
下声明它,让它在任何地方都可以访问GLOBAL.loadAllModules=function(directory,router){…}
你所说的\uuu dirname
是什么意思?我的意思是当前目录你想根据情况举例吗?只需要文件夹,或者文件夹中每个文件夹下的index.js…我已经为您的情况更新了示例。但是从哪里调用index.js呢,它会被调用吗?分配您想要从中调用的dirname属性,从那以后,它将递归检查所有文件夹,并要求它的index.js。你想根据情况做一个例子吗?只需要文件夹,或文件夹的每个文件夹下的index.js…我已经为你的情况更新了示例。但是从哪里调用index.js呢,它会被调用吗?分配您想要从中获取的dirname属性,从中它将递归地检查所有文件夹,并需要它的index.js