我正在使用带有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中包含基于配置文件的条件?
谢谢!
答案 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
启动您的应用。