适用于SailsJS Framework的app.js中的sails.config.XXXX

时间:2016-02-25 14:05:21

标签: node.js sails.js newrelic newrelic-platform

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

    ENABLE_NEWRELIC_NODE_SERVICE: false,

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

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

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

谢谢!

2 个答案:

答案 0 :(得分:1)

缺少Sails特定的方法,只需在配置文件中输入:

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

然后使用标志:

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

答案 1 :(得分:1)

在实际加载Sails之前,sails.config对象不可用。看一下sails-hook-newrelic的代码,我不清楚为什么register()需要这么早就被调用;它似乎只是作为钩子初始化的一部分发生。但是,代码并没有这样编写,所以你仍然坚持这一点。看起来有一个pull request可以修复它。在此期间,假设您要根据节点环境激活New Relic,您只需检查process.NODE_ENV中的app.js

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

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