目前我在File api.js中有以下代码和更多调用,但是现在文件非常庞大,以至于不容易找到任何东西,所以我想在不同的文件中外包不同的路径api_admin.js,api_user.js,api_general.js,可以将不同的调用外包给不同的文件并包含它们吗?
app.use( '/assets', express.static( __dirname + '/public/assets' ) );
// Serve index.html
app.get( '/', function( req, res ) {
// ...
} );
// Serve Partials
app.get( '/views/:name', function( req, res ) {
// ...
} );
app.get( '/views/user/:name', function( req, res ) {
// ...
} );
app.get( '/views/admin/:name', function( req, res ) {
// ...
} );
// Serve Data
var router = express.Router();
app.use( '/v1', router );
router.post( '/user/get/info', function( req, res ) {
// ...
} );
router.post( '/admin/user/list', function( req, res ) {
// ...
} );
router.post( '/admin/apps/list', function( req, res ) {
// ...
} );
答案 0 :(得分:1)
只需创建一个新模块。将一堆路由处理程序放在该新模块中。然后,从api.js
加载新模块,并将其传递给模块构造函数中的app
或router
对象。
例如,您可以在这里找出管理员的一些路线:
api.js
app.use( '/assets', express.static( __dirname + '/public/assets' ) );
// Serve index.html
app.get( '/', function( req, res ) {
// ...
} );
// Serve Partials
app.get( '/views/:name', function( req, res ) {
// ...
} );
app.get( '/views/user/:name', function( req, res ) {
// ...
} );
app.get( '/views/admin/:name', function( req, res ) {
// ...
} );
// Serve Data
var router = express.Router();
app.use( '/v1', router );
router.post( '/user/get/info', function( req, res ) {
// ...
} );
// load and initialize admin routes
require('api_admin.js')(router);
api_admin.js
module.exports = function(router) {
router.post( '/admin/user/list', function( req, res ) {
// ...
} );
router.post( '/admin/apps/list', function( req, res ) {
// ...
} );
}
您可以为任何其他路由组重复此模式,将加载的模块传递给模块构造函数中的app
对象或router
对象。如果你有几个路由模块想要使用的常用功能,那么将它们放在自己的模块中,从那个模块中导出它们,然后require()
将它们导入任何想要使用它们的模块。
答案 1 :(得分:0)
尝试使用require和module.exports
> 1.9
文件内容示例:
var user = require('./file');