Node.js SailsJS框架的app.js中的sails.config.XXXX
我正在使用带有newrelic插件的Sails框架。我目前正在尝试根据production.js/development.js中的标志注册该应用程序。这是development.js中的标志:Node.js SailsJS框架的app.js中的sails.config.XXXX,node.js,sails.js,newrelic,newrelic-platform,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
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中包含条件
谢谢 除了特定于Sails的方法外,只需在配置文件中要求:
var config = require('./sails.config') // Check the path is correct
然后使用标志:
if (config.ENABLE_NEWRELIC_NODE_SERVICE){
require('sails-hook-newrelic/register');
}
如果没有特定于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()
;看起来这可能只是钩子初始化的一部分。但是,代码不是这样写的,所以你在这一点上卡住了。看来有个漏洞可以解决。同时,假设您希望基于节点环境激活New Relic,您可以在app.js
中选中process.Node_ENV
:
if (process.NODE_ENV == 'development') {
require('sails-hook-newrelic/register');
}
只需确保在启动应用程序时使用
NODE\u ENV=development NODE app.js
在实际加载sails之前,sails.config
对象不可用。查看sails hook newrelic
的代码,我不清楚为什么需要这么早调用register()
;看起来这可能只是钩子初始化的一部分。但是,代码不是这样写的,所以你在这一点上卡住了。看来有个漏洞可以解决。同时,假设您希望基于节点环境激活New Relic,您可以在app.js
中选中process.Node_ENV
:
if (process.NODE_ENV == 'development') {
require('sails-hook-newrelic/register');
}
只要确保你用
NODE\u ENV=development NODE app.js启动你的应用程序
是ENABLE\u NEWRELIC\u NODE\u SERVICE
你自己的标志吗?这不是Sails提供的东西吗?ENABLE\u NEWRELIC\u NODE\u SERVICE
是您自己的标志吗?这不是Sails提供的功能?这并不能真正解决正确启用/禁用标志的问题,因为Sails config hook可以根据环境加载相应的配置文件。感谢您的帮助!虽然不是最正确的方法,但它确实起作用了!这并不能真正解决正确启用/禁用标志的问题,因为Sails config hook会根据环境加载相应的配置文件。感谢您的帮助!虽然不是最正确的方法,但它确实起作用了!谢谢你的洞察力!正如您所提到的,它不会真正解决问题,因为每次我们从dev切换到prod或任何其他环境时,app.js都需要修改。后来我试着把“sails hook newrelic/register”放进去——在这种情况下,它确实注册了,但实际上没有发送数据。但正如你所提到的,这并不是真正的帆船短缺。谢谢你的回复!真的很感激!只要您使用NODE\u ENV
切换环境,就不必用这种方法修改app.js
。感谢您的帮助!正如您所提到的,它不会真正解决问题,因为每次我们从dev切换到prod或任何其他环境时,app.js都需要修改。后来我试着把“sails hook newrelic/register”放进去——在这种情况下,它确实注册了,但实际上没有发送数据。但正如你所提到的,这并不是真正的帆船短缺。谢谢你的回复!真的很感激!只要您使用NODE\u ENV
切换环境,就不必用这种方法修改app.js
。