0

peepcodenode.jsチュートリアルのミニアプリのコンセプトに感銘を受けました。グローバルフォルダを持つ代わりに:

/site/models
/site/views

アプリケーション領域ごとに別のレベルの分離を作成します。

/site/login/models
/site/catalog/models

AFAIUアプリケーション領域は、お互いに何も知らない必要があります。これにより、共有dbモデルをどこに配置するかについていくつかの疑問が生じます。共有モデルが多すぎる場合は、誤ったミニアプリの分離が行われたことを意味します。このミニアプリのコンセプトについてもっと多くの資料を見つけようとしています。Webキャストには、djangoでは一般的であると記載されています。ノード(推奨)またはdjangoでそれに関する経験や資料を持っている人はいますか?

4

1 に答える 1

0

また、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番目の手法を使用しているのを見てきました。

于 2012-10-23T17:00:04.137 に答える