我对nodejs很新。
在我的dockerized环境中,我想为nodejs应用程序提供appdynamics支持。这要求每个应用程序要求以下作为其应用程序的第一行。
require("appdynamics").profile({
controllerHostName: '<controller host name>',
controllerPort: <controller port number>,
controllerSslEnabled: false, // Set to true if controllerPort is SSL
accountName: '<AppDynamics_account_name>',
accountAccessKey: '<AppDynamics_account_key>', //required
applicationName: 'your_app_name',
tierName: 'choose_a_tier_name',
nodeName: 'choose_a_node_name',
});
我打算通过在应用程序的条目文件周围提供一个名为 appdynamics.js 的包装器来做到这一点。详细说明:
我在nodejs docker image中运行一个脚本,用appdynamics.js替换应用程序的package.json中的条目文件名,其中appdynamics.js具有上述appdynamics相关的require语句。
例如:{scripts { "start" : "node server.js" }}
将替换为
{scripts { "start" : "node appdynamics.js"}}
然后,我在appdynamics.js中“需要”“server.js”。
调用npm start。
我唯一担心的是:
如果 package.json 类似于脚本{ "start" : "coffee server.coffee" }
,我的脚本会将其替换为{ "start" : "coffee appdynamics.js" }
。然后我的脚本将调用npm start
,这将导致错误。
解决这个问题的最佳方法是什么?
的后续问题答案 0 :(得分:0)
appdynamics.coffee
.js
server.js
替换为appdynamics.js
,将server.coffee
替换为appdynamics.coffee
此操作后
{
"scripts": {
"start": "node server.js"
}
}
将是
{
"scripts": {
"start": "node appdynamics.js"
}
}
和
{
"scripts": {
"start": "coffee server.coffee"
}
}
将是
{
"scripts": {
"start": "coffee appdynamics.coffee"
}
}