Ich verwende elastische Beanstalk, um eine node.js-App bereitzustellen. In meinem scripts
Abschnitt von package.json
habe ich:
"scripts": {
"start": "node_modules/.bin/coffee server.coffee",
"test": "NODE_ENV=test node test/runner.js",
"coverage": "NODE_ENV=test COVERAGE=1 node test/runner.js -R html-cov test/> ./test/coverage.html",
"testw": "fswatch -o test src | xargs -n1 -I{} sh -c 'coffeelint src server.coffee ; npm test'",
"db:drop": "node scripts/drop-tables.js",
"encryptConfig": "node_modules/.bin/coffee config/encrypt.coffee",
"decryptConfig": "node_modules/.bin/coffee config/decrypt.coffee",
"postinstall": "npm run decryptConfig"
},
Der npm install
scheint zu funktionieren. Das postinstall
wird jedoch nicht ausgeführt. Ist das ein bekanntes Problem? Wenn ja, wie kann ich etwas nach npm install
aber vor npm start
ausführen?
Ich bin gerade auch auf dieses Problem gestoßen. Ich fand, dass ein postinstall
-Skript nicht laufen würde, aber ein prestart
würde. Meins sieht so aus:
"scripts": {
"start": "node index.js",
"prestart": "node node_modules/webpack/bin/webpack.js"
}
Das bündelt meine Webpack-Sachen jetzt korrekt, bevor ich den Server starte, wenn ich lokal eb deploy
starte.
Ich glaube, Sie meinten damit, dass Sie mit ELB (Elastic Beanstalk) ELB als Load Balancer arbeiten.
Elastic Beanstalk führt standardmäßig npm start
aus, um Ihre Anwendung auszuführen.
Ich empfehle Ihnen, Ihre Module in Ihrem Build-Prozess mit Ihrer Anwendung zu packen.