sails.config.XXXX 在 app.js 中用于 SailsJS 框架

sails.config.XXXX in app.js for SailsJS Framework

我正在使用带有 newrelic 插件的 Sails Framework。我目前正在尝试根据生产中的标志注册应用程序。js/development.js。这是 development.js 中的标志:

    ENABLE_NEWRELIC_NODE_SERVICE: false,

这是App.js中的一段代码:

    if (sails.config.ENABLE_NEWRELIC_NODE_SERVICE){
      require('sails-hook-newrelic/register');
    }

但是 sails.config 似乎无法在 app.js 中访问(我可能错了)。有没有其他方法可以根据配置文件在 App.js 中包含条件?

谢谢!

缺少 Sails 特定的执行此操作的方法,只需在配置文件中要求:

var config = require('./sails.config') // Check the path is correct

然后使用标志:

if (config.ENABLE_NEWRELIC_NODE_SERVICE){
    require('sails-hook-newrelic/register');
}

在实际加载 Sails 之前,sails.config 对象不可用。查看 sails-hook-newrelic 的代码,我不清楚为什么 register() 需要这么早调用;它似乎只是作为钩子初始化的一部分发生的。但是,代码不是那样写的,所以你被困在了这一点上。看起来有一个 pull request 打开来修复它。同时,假设你想激活基于 Node 环境的 New Relic,你可以在 app.js:

中勾选 process.NODE_ENV
if (process.NODE_ENV == 'development') {
   require('sails-hook-newrelic/register');
}

只需确保您使用 NODE_ENV=development node app.js 启动您的应用。