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 中定义的模型将具有 User 的“globalId”。如果禁用此功能,则您仍然可以通过 sails.models 字典中的标识访问所有模型。 |
|
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,以便您可以在应用程序代码中引用 _
和 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
。这与手动禁用上述每个设置的效果相同。