我對nodejs非常陌生。使用npm開始腳本的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圖像運行一個腳本來在應用程序的的package.json以「appdynamics.js」,其中appdynamics.js具有與上述appdynamics要求語句來替換項的文件名。 例:
{scripts { "start" : "node server.js" }}
將{scripts { "start" : "node appdynamics.js"}}
然後被替換,我 「需要」 裏面appdynamics.js 「server.js」。
調用npm start。
我唯一擔心的是這樣的:
如果的package.json有這樣的事情腳本{ "start" : "coffee server.coffee" }
,我的腳本將它替換到。然後我的腳本將調用npm start
,這將會出錯。
解決此問題的最佳方法是什麼?
這是一個後續問題Use "coffee" instead of "node" command in production
爲什麼你不這樣做的構建過程,簡單地注入相關的代碼的一部分到你的server.js文件中?你可以使用任何模板引擎,正則表達式替換等。咕嚕,吞嚥,做,什麼。 –
感謝您花時間回覆。原因是因爲我在PAAS團隊中,只知道appdynamics所需字段的值。此外,我們希望使appdynamics可以無縫地用於在我們的平臺上運行的nodejs應用程序。這樣,應用程序開發人員不必擔心appdynamics配置值。 – user6147402
那就是總體意義。這樣做無縫可能會很困難。 –