次の構造の 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* ディレクトリをサード パーティ モジュールのみに保持したいと考えています。
TJ によるNode.js と Express (2:25 を参照) を使用したモジュラー Web アプリケーションは、彼がbundledDependencies
. しかし、それはまだ機能していないようです。
更新:
構造を少し平坦化し、代わりに相対パスを採用することにしました。