Ich bin sehr neu zu Nodejs.Nodejs App mit Npm Start-Skript
In meiner dockerisierten Umgebung möchte ich die appdynamics-Unterstützung für nodejs-Apps bereitstellen. Dies erfordert, dass jede App die folgende Zeile in ihrer App benötigt.
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',
});
ich plane zu tun, dass ein Wrapper appdynamics.js um die App-Eintrag Datei mit dem Namen, indem. Details:
ich ein Skript in meinem NodeJS Docker Bild, um den Eintrag Dateinamen in der package.json App ersetzen mit „appdynamics.js“, wo appdynamics.js die oben AppDynamics hat benötigen Aussage bezogen. Ex:
{scripts { "start" : "node server.js" }}
mit{scripts { "start" : "node appdynamics.js"}}
Dann ersetzt werden, i "require" die "server.js" innerhalb appdynamics.js.
Invoke npm starten.
Meine einzige Sorge ist dies:
Wenn die package.json so etwas wie Skripte hatte { "start" : "coffee server.coffee" }
, mein Skript es { "start" : "coffee appdynamics.js" }
ersetzen wird. und dann ruft mein Skript npm start
auf, was zu einem Fehler führt.
Was ist der beste Weg, dies zu lösen?
Dies ist eine Follow-up-Frage zu Use "coffee" instead of "node" command in production
sein Warum würden Sie nicht dieser Prozess von einem Build als Teil tun, die einfach den entsprechenden Code injiziert in Ihre server.js Datei? Du könntest jedes Templating-Modul verwenden, Regex ersetzen usw. Grunzen, schlucken, machen, was auch immer. –
Danke, dass du dir Zeit genommen hast, zu antworten. Der Grund dafür ist, dass ich im PAAS-Team bin und nur die Werte der von appdynamics benötigten Felder kennen. Außerdem möchten wir appdynamics für die auf unserer Plattform laufenden nodejs-Apps nahtlos verfügbar machen. Auf diese Weise muss sich der App-Entwickler keine Gedanken über die appdynamics-Konfigurationswerte machen. – user6147402
Das macht dann total Sinn.Dies nahtlos zu tun wird wahrscheinlich schwierig sein. –