Zur Verwendung in express.js-Umgebungen. Irgendwelche Vorschläge?
Antworten
Zu viele Anzeigen?Bevor Sie Ihre Anwendung ausführen, können Sie dies in der Konsole tun,
export NODE_ENV=production
Wenn Sie unter Windows arbeiten, können Sie auch dies versuchen:
SET NODE_ENV=production
für PowerShell:
$env:NODE_ENV="production"
oder Sie können Ihre Anwendung wie folgt ausführen:
NODE_ENV=production node app.js
Sie können es auch in Ihrer js-Datei einstellen:
process.env.NODE_ENV = 'production';
Aber ich schlage nicht vor, dies in Ihrer Laufzeitdatei zu tun, da es nicht einfach ist, VIM auf Ihrem Server zu öffnen und es auf Produktion zu ändern. Sie können eine config.json-Datei in Ihrem Verzeichnis erstellen und jedes Mal, wenn Ihre Anwendung läuft, liest sie daraus und setzt die Konfiguration.
export NODE_ENV=production
ist eine schlechte Lösung, sie verschwindet nach dem Neustart.
wenn Sie sich nicht mehr um diese Variable kümmern wollen - fügen Sie sie zu dieser Datei hinzu:
/etc/environment
Verwenden Sie keine Export-Syntax, sondern schreiben Sie einfach (in eine neue Zeile, wenn bereits ein Inhalt vorhanden ist):
NODE_ENV=production
nach dem Neustart funktioniert es. Sie müssen nicht erneut eingeben export NODE_ENV=Produktion und verwenden Sie node einfach mit allem, was Sie möchten - forever, pm2...
Für heroku:
heroku config:set NODE_ENV="production"
was eigentlich Standard ist.
Damit Sie sich keine Gedanken darüber machen müssen, ob Sie Ihre Skripte unter Windows, Mac oder Linux ausführen, installieren Sie das übergreifend Paket. Dann können Sie Ihre Skripte einfach verwenden, etwa so:
"scripts": {
"start-dev": "cross-env NODE_ENV=development nodemon --exec babel-node -- src/index.js",
"start-prod": "cross-env NODE_ENV=production nodemon --exec babel-node -- src/index.js"
}
Ein großes Lob an die Entwickler dieses Pakets.
npm install --save-dev cross-env
- See previous answers
- Weitere Antworten anzeigen