2016-04-12 9 views
1

私は最近多くのセイルズを使用していますが、練習問題があります。私はいくつかのrequire('q')することなく、任意のコントローラにQのようなパッケージを使用するには、この操作を行うSails.jsグローバルにパッケージを参照してください

module.exports.bootstrap = function(cb) { 

    sails.Q = require('q'); 
    sails.url = require('url'); 
    ... 

    cb(); 
}; 

:私は、プロジェクトで何度もNPMパッケージを使用する場合今、私は私のconfig/bootstrap.jsファイル内でこのようなものを置きます回。私はそれが必要なときにsails.Q.[...]をするだけです。同じことを達成する良い方法はありますか?私はむしろsails.Q.[...]の代わりにQ.[...]でパッケージを参照することができます。誰か良い方法を知っていますか?

答えて

-1

var Q = require('q');は、サーバーが開始される直前(sails.lift(rc('sails'));)にapp.jsにできます。それはキーストロークを節約するために、単純になら

0

、あなたは本当にあなたがそれを使用し、各ファイルの先頭に

var Q = require('q') 

を追加する必要があります。require()をモジュールを毎回再評価されません。最初の呼び出しの後、呼び出すと、モジュールからのエクスポートがキャッシュから取り出されるだけなので、ファイルごとに1回使用するオーバーヘッドはありません。

しかし、あなたはそれが悪い習慣だと、あなたはそれで大丈夫だと認める場合は、このように世界的にそれをエクスポートすることができます。

global.Q = require('q') 

あなたが任意のファイルからQを参照できるようになると。

関連する問題