以下是我关注的问题:
我正在使用express 4在Node.js中编写一个webapp。
问题是在所有代码中管理dependecies,但让我给你举个例子。我管理这样的依赖:
server.js:
var express = require('express');
var app = express();
app.use('/auth', require('./routes/auth'));
app.use('/profile', require('./routes/profile'));
路由/ auth.js:
var express = require('express');
var router = express.Router();
// add routes to router
module.exports = router;
路由/ profile.js:
var express = require('express');
var router = express.Router();
// add routes to router
module.exports = router;
你怎么看,我每次在每个模块中需要时都要输入快递。我用快递向您展示了示例,但我正在使用其他模块。
如果我管理这样的依赖关系会更好吗?
server.js:
var express = require('express');
var app = express();
app.use('/auth', require('./routes/auth')(express));
app.use('/profile', require('./routes/profile')(express));
路由/ auth.js:
module.exports = function (express) {
router = express.Router();
// add routes to router
return router;
}
路由/ profile.js:
module.exports = function (express) {
router = express.Router();
// add routes to router
return router;
}
我不得不承认,我的怀疑是由于我对Javascript和Node.js的不了解以及我对Python的背景,我们喜欢第一种形式。
任何建议都将受到赞赏。
答案 0 :(得分:1)
性能没有真正的区别,因为Node.js'require
在第一次调用时缓存每个模块。然而,第二种方法具有显式依赖注入的好处,即i.E。您可以通过提供模拟版本的express来测试更高隔离度的每个模块。此外,您已准备好提供其他依赖项,如配置或数据库对象。