目前我有下面的代码和更多的调用文件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 ) {
// ...
} );发布于 2016-06-23 21:39:58
只需创建一个新模块。在这个新模块中放入一堆路由处理程序。然后,从api.js加载新模块,并在模块构造函数中将其传递给app或router对象。
例如,下面是如何为admin划分一些路由的方法:
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()到想要使用它们的任何模块中。
发布于 2016-06-23 21:42:07
尝试使用require和module.exports
var user = require('./file');文件内容示例:
var User = function(name, email) {
this.name = name;
this.email = email;
};
module.exports = User;https://stackoverflow.com/questions/37993282
复制相似问题