我有一个具有以下结构的Node.js应用程序:
+
|-- app/
| |-- config.js
| |-- modules/ // MVC app modules/components.
| |-- login/
| |-- signup/
|-- lib/ // App specific modules/libraries.
| |-- auth/
| |-- storage/
|-- node_modules/ // 3rd party modules.
| |-- express/
| |-- hjs/
|-- public/
|-- app.js
|-- package.json
来自 lib / 的require
模块有哪些选项 - 例如 - 登录模块,但无需指定相对路径?
// app/modules/login/index.js
var auth = require('../../../lib/auth'); // <-- I'd rather have require('auth')
module.exports = function(app) {
app.get('/', auth.ensureAuthenticated, function(req, res) {
res.send('/');
});
};
我不想在Github上的 lib / 中托管模块,并且只想为第三方模块保留* node_modules *目录。
当他谈到bundledDependencies
时,TJ的Modular web applications with Node.js and Express(见2:25)看起来很有希望。但那是doesn't seem to work yet。
更新
我现在已经把我的结构弄平了一点,决定采用相对路径。
答案 0 :(得分:0)
我可以在这里看到两种可能的解决方案。
npm install ./lib/storage
通过执行上一个命令启动app.js时,可以“动态”安装模块。