2016-08-18 4 views
0

私の生産アプリケーションでは、私はrequireステートメントを各ルートハンドラ内で使用しています。私はパフォーマンスヒットを取るかどうか疑問に思っていましたか?ルートの効率

app.get('/', require('../templates/views/home')) 
app.get('/foo', require('../templates/views/foo')) 
app.get('/bar', require('../templates/views/bar')) 

それは次のリリースで作業することができる方法:それは今どのように動作する

var views = require('../templates/views') 

app.get('/home', views.home) 
app.get('/foo', views.foo) 
app.get('/bar', views.bar) 

、明らか/templates/views.jsrequire文を使用して、すべてのビューをエクスポートするが、のみ単一うアプリケーションが起動する時刻。

違いがありますか?

答えて

0

パフォーマンスの観点からは違いはありませんが、依存関係を特定するのが難しくなるため、コード全体で自由に使用することが検討されています(poor style)。

また、このようなコードでrequireを使用すると、インライン式に評価されないため、ES6 importsに移行するのがずっと難しくなります。

// JS 
var views = require('../templates/views') 

app.get('/home', views.home) 
app.get('/foo', views.foo) 
app.get('/bar', views.bar) 

// ES6 
import views from '../templates/views'; 

app.get('/home', views.home) 
app.get('/foo', views.foo) 
app.get('/bar', views.bar) 

// This won't work... 
app.get('/home', import 'home' from '../template/views/home');