2016-11-13 5 views
2

Ich bin mit großen Schluck in meiner reactjs Lösung und wollen die NODE_ENV setzen, habe ich versucht, dies:Wie kann ich NODE_ENV einstellen?

gulp.task('set-dev-node-env', function() { 
    return process.env.NODE_ENV = 'development'; 
}); 
//dev environment run 
gulp.task('default', ['set-dev-node-env', 'webpack-dev-server']); 

Wenn ich schluck laufen und überprüfen Sie die chromeconsole heißt es:

testing process.env.NODE_ENV undefined 

Was bin ich fehlt oder wie kann ich diese NODE_ENV Variable setzen? Ich würde es gerne irgendwie in den gulfile legen. Hier

ist das gesamte Projekt: github

+0

Sie können nicht NODE_ENV (Server-Seite) von Chrome Konsole (Client-Seite) erhalten. – elmeister

+0

ok, wie kann ich es dann bekommen? –

+0

@elmeister Warum nicht? Chrome kann zum Debuggen von Node verwendet werden. Das Ausführen einer interaktiven Sitzung von einem Browser bedeutet nicht, dass es sich nicht um eine Darstellung des aktuellen Status des Serverprozesses handelt (über einen Proxy, ähnlich wie eine intelligentere Version von dummen Terminals von alten Tagen). – user2864740

Antwort

2

Da Sie WebPack verwenden, können Sie die WebPack Define Plugin verwenden, um die NODE_ENV

Zum Beispiel in Ihrem webpack.config.dev.js zu injizieren:

module.exports = { 
    ... 

    plugins: [ 
    ... 
    new webpack.DefinePlugin({ 
     'process.env.NODE_ENV': JSON.stringify('development'), 
    }), 
    ], 
}; 

Dann in Ihrem Code haben Sie Zugriff darauf NODE_ENV Sie als process.env.NODE_ENV festgelegt.

+1

Gibt es einen Grund, warum Sie eine Zeichenfolge json-string sind? Muss die Zeichenfolge maskiert werden? – nem035

+2

Siehe die Dokumentation. Strings werden als Codefragmente ausgewertet. 'JSON.stringify ('development')' setzt den Wert auf den String 'development'. Die anderen Optionen sind: "Entwicklung", Entwicklung, Entwicklung oder Entwicklung. – DTing

0

können Sie versuchen, diese mit gulp-env Modul

// gulpfile.js 

var gulp = require('gulp'); 
var env = require('gulp-env'); 

gulp.task('set-dev-node-env', function() { 
    env({ 
    vars: { 
     NODE_ENV: "development" 
    } 
    }) 
}); 

gulp.task('default', ['set-dev-node-env', 'webpack-dev-server']) 
Verwandte Themen