sails.config.globals
Sailsがデフォルトで公開するグローバル変数の設定です。Sailsのグローバル設定は、Sailsによって導入されたグローバル変数を制御するためのみに使用されます。オプションは慣例的にconfig/globals.js
設定ファイルで指定します。
プロパティ | 型 | 慣例 | 詳細 |
---|---|---|---|
_ (アンダースコア) |
_or_ |
require('lodash') |
指定されたlodash をグローバル変数(_ )として公開します。または、これをfalse に設定すると、_ グローバルを完全に無効にすることができます。(詳細については下記を参照) |
async |
_or_ |
require('async') |
指定されたasync をグローバル変数(async )として公開します。または、これをfalse に設定すると、async グローバルを完全に無効にすることができます。(詳細については下記を参照) |
models |
true |
アプリの各モデルをグローバル変数(その「globalId」を使用)として公開します。たとえば、api/models/User.js で定義されたモデルは、User という「globalId」を持ちます。これが無効になっている場合でも、sails.models ディクショナリでIDによってすべてのモデルにアクセスできます。 |
|
sails |
true |
アプリを表すsails インスタンスを公開します。これが無効になっている場合でも、アクションではenv.sails 、ポリシーではreq._sails を使用してアクセスできます。 |
|
services |
true |
アプリの各サービスをグローバル変数(その「globalId」を使用)として公開します。例:api/services/NaturalLanguage.js で定義されたサービスは、デフォルトでNaturalLanguage というglobalIdを持ちます。これが無効になっている場合でも、sails.services.* からサービスにアクセスできます。 |
_
)およびAsyncライブラリの使用新しく生成されたSails 1.0アプリには、Lodash v3.10.1とAsync v2.0.1がデフォルトでインストールされ、グローバルに有効になっているため、require()
を使用せずにアプリのコードで_
とasync
を参照できます。これは、config/globals.js
の次のデフォルト設定で実現されます。
{
_: require('lodash'),
async: require('async')
}
プロパティをfalse
に設定すると、アクセスを無効にできます。Sails v1.0
より前は、プロパティをtrue
に設定できましたが、これは非推奨となり、上記の構文に置き換えられました。
独自のバージョンのLodashまたはAsyncを使用するには、必要なバージョンをnpm install
するだけです。たとえば、最新バージョンのLodash 4.x.xをインストールするには
npm install lodash@^4.x.x --save --save-exact
_
)およびAsyncの使用グローバルを無効にする必要があるが、LodashやAsyncを引き続き使用したい場合は、運が良いです!Node.jsとNPMを使用すると、パッケージのインポートは非常に簡単です。
グローバルに依存せずに独自のバージョンのLodashまたはAsyncを使用するには、まずconfig/globals.js
で関連する設定を変更します。
// Disable `_` and `async` globals.
_: false,
async: false,
次に、独自のLodashをインストールします。
npm install lodash --save --save-exact
またはAsyncをインストールします。
npm install async --save --save-exact
最後に、他のNode.jsモジュールをインポートするのと同じように、必要なファイルの先頭にvar _ = require('lodash');
またはvar async = require('async')
を含めます。
- 上記のすべてのグローバル変数を無効にするためのショートカットとして、
sails.config.globals
自体をfalse
に設定できます。これは、上記の設定を手動で無効にした場合と同じ効果があります。