2016-08-03 6 views
0

ずっとずっとずっとずっとずっとNodeJSバックエンド開発から離してきました。理由の一つと理由の一つに過ぎません。私が始めたほとんどすべてのExpressプロジェクト、あるいは私は強制されました。ウェブサイト全体が+/- 5000行の1つのスクリプトで実行されるような大混乱に終わります。きれいなモジュール式express.jsアプリケーションの作成方法

ExpressJSのhelloワールドページの次の例では、この形式で、より多くのルートをappに追加して、コードの大混乱を招いてしまいます。私は見つけることができないよう何

var express = require('express'); 
var app = express(); 

app.get('/', function (req, res) { 
    res.send('Hello World!'); 
}); 

app.listen(3000, function() { 
    console.log('Example app listening on port 3000!'); 
}); 

、私は大きな急行ウェブサイトを取り、簡単にルートが小さなあるモジュラーアプリケーション、再利用可能なにそれを回すことができるかでありますテスト可能な。誰かがこれを行う方法のアイデアを持っている場合、それは非常に高く評価されるでしょう。

+0

この質問を解決するには、どのような答えをお探しですか? 「クラスをどのようにモデリングするのですか?」という質問があった場合など、ここでカバーする大きなトピックを求めています。私はこの質問も答えを与えるために意見に基づいていると思う。マイクロサービスを作成し、それをモジュラーコードを作成するためのアーキテクチャパターンとして使用する方法や、他にも数多くのリファクタリング戦略に関する数多くのガイドがあります。たぶん大きなGitHubプロジェクトのコードを検索することもできます。 –

+0

これらの関数を 'UserAuthentication.js'のように他のモジュールからエクスポートします。export.login = function(req、res){}'などのように、それらをフィーチャーフォルダに入れます。 –

+0

個別のルートハンドラを別々のモジュールとともに作成し、モジュールを 'app'に注入します。 https://github.com/swarajgiri/express-bootstrap/blob/master/minions/index.jsとhttps://github.com/swarajgiri/express-bootstrap/blob/master/bootstrap/app.js#を確認してください。 L91 –

答えて

1

私は通常、ルートごとに1ファイルを使用し、すべてのルーティングファイルをroutesフォルダに入れ、ルータをエクスプレスで利用できるようにします。

ルートファイルは次のようになります。単純に追加し、アプリのファイルに次に

var express = require('express'); 
var router = express.Router(); 
router.get('/', function (req, res) { 
    res.send('Hello World!'); 
}); 

module.exports = router; 

var example = require('./routes/example'); 
app.use('/', example); 

ルーティングファイル内のルートは、あなたがアプリで宣言した経路に関連しています。つかいます。

関連する問題