sails.config.globals
針對 Sails 預設公開的全域變數進行設定。Sails 中的全域設定僅用於控制 Sails 引入的全域變數。這些選項通常在 config/globals.js
設定檔中指定。
屬性 | 類型 | 慣例 | 詳細資訊 |
---|---|---|---|
_ (底線) |
_或_ |
require('lodash') |
將指定的 lodash 作為全域變數 (_ ) 公開。或者將其設定為 false 以完全停用 _ 全域變數。(更多資訊如下。) |
async |
_或_ |
require('async') |
將指定的 async 作為全域變數 (async ) 公開。或者將其設定為 false 以完全停用 async 全域變數。(更多資訊如下。) |
models |
true |
將您應用程式的每個模型作為全域變數公開(使用其 "globalId")。例如,在 api/models/User.js 中定義的模型將具有 "globalId" User 。如果停用此選項,您仍然可以透過 sails.models 字典中的識別名稱來存取所有模型。 |
|
sails |
true |
公開代表您應用程式的 sails 實例。即使停用此選項,您仍然可以透過 env.sails 在您的 actions 中,或透過 req._sails 在您的 policies 中存取它。 |
|
services |
true |
將您應用程式的每個服務作為全域變數公開(使用其 "globalId")。例如,在 api/services/NaturalLanguage.js 中定義的服務預設將具有 globalId NaturalLanguage 。如果停用此選項,您仍然可以透過 sails.services.* 存取您的服務。 |
_
) 和 Async 函式庫新產生的 Sails 1.0 應用程式預設安裝並全域啟用 Lodash v3.10.1 和 Async v2.0.1,以便您可以在應用程式程式碼中參考 _
和 async
,而無需使用 require()
。這是透過 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
。這與您手動停用上述每個設定的效果相同。