また、express.js構造はDjangoに基づいています。2つの異なる手法があり、どちらにも制限があり、どちらもDjangoアプリとまったく同じではありません。
このAPIをapp.jsファイルで使用します。
var app = express();
require('./some-app1').init(app);
require('./some-app2').init(app);
私のサブアプリディレクトリ:
some-app
- index.js
- middleware.js
これは両方の手法で同じです。
次は、アプリに専用のビューディレクトリが必要ない場合の使用方法です。
index.js
var middleware = require('./middleware');
var subapp = function (app) {
app.get('/stuff', middleware.handle_stuff);
}
module.exports = subapp;
これが私が本当に基本的であるがうまくいくことを始めた方法です。
2番目の手法では、Expressに実際にはサブアプリと呼ばれるものがあることを知っておく必要があります。これは、ベースアプリケーションの上にマウントする実際のExpressオブジェクトです。
index.js
var app = express();
app.get('/stuff', middleware.handle_stuff);
var subapp = function (app) {
app.use(app);
}
module.exports = subapp;
最初または2番目の手法を選択する前に、私はほとんどの場合、「このアプリ専用のビューディレクトリが必要ですか?」と自問します。答えが「はい」の場合、私は2番目に行きます。実際のサブアプリは単独で実行できるため、テスト用に分離されたhttpリクエストを実際に実行できるため、他のユーザーが2番目の手法を使用しているのを見てきました。