zu setzen Ich versuche, ein Flag zu setzen, das meinen Code informiert, ob es in Produktion oder Entwicklung ist. Bisher habe ich gesehen:Verwirrt von, wie viele Möglichkeiten gibt, NODE_ENV
In VS-Code des launch.json
:
{ "configurations": { "env": "NODE_ENV": "development" } }
In Knoten des package.json
:
{ "scripts": { "start": "NODE_ENV=production" } }
In Webpack der webpack.config.js
:
module.exports = { "plugins": new webpack.DefinePlugin({ 'process.env.NODE_ENV': '"production"' }) }
während der Code ausgeführt wird:
NPM Pakete:
https://www.npmjs.com/package/envify
Powershell:
$env:NODE_ENV="production"
Ich glaube, ich da standardmäßig nur verwirrt bin ich um 4 von derzeit diejenigen eingestellt haben. Wie genau interagieren diese? Beziehen sich alle auf die gleiche Variable? Soll ich nur eins davon haben? Welche überschreiben die anderen?
Ich würde wirklich bevorzugen, wenn es nur einen einzigen Punkt, um dies zu setzen, weil es scheint, wie jedes einzelne Modul können Sie es angeben und als Ergebnis bin ich verwirrt, wo es tatsächlich eingestellt ist. Gibt es auch einen Zugriff auf dieses Flag auf der Client-Seite oder ist es nur serverseitig?
Einstellung 'Umgebungsvariable' scheint gute Ansatz, und ist unabhängig von Paketen, Modulen oder IDEs. –
@MukeshSharma: Würde ich nur alle anderen hier aufgelisteten löschen? Ich denke, "React" benötigt das Webpack, damit es in der Produktion auf der Clientseite läuft. –
ja, aber, wieder 'webpack' setzt' node'-umgebung, die auf server läuft. Es wurde auch hier diskutiert. https://github.com/gaearon/react-transform-boilerplate/issues/54 –