2016-09-19 3 views
1

Ich habe ein Npm-Paket, das eine React-Komponente ist, die ich gebaut habe und auf meinem privaten Npm-Server hosste.UglifyJSPlugin im Produktionsmodus zeigt eine React-Entwicklungsmodus-Warnung

Ich habe eine React-Webanwendung, die dieses Paket herunterlädt und es auf einer Seite verwendet.

Sowohl die Komponente als auch die Webanwendung werden mit Webpack mit dem UglifyJSPlugin erstellt.

Wenn webpack mit der Produktion Flagge ausgeführt wird, erhalte ich die folgende Warnung:

warning.js:36Warning: It looks like you're using a minified copy of the development build of React. When deploying React apps to production, make sure to use the production build which skips development warnings and is faster. See [stack won't let me post urls..]fb.me/react-minification for more details. 

Als ich die UglifyJSPlugin von der Web-Anwendung webpack Config entfernen und webpack mit der Produktion Flagge laufen, diese Warnung nicht angezeigt .

Haben Sie Ideen, wie Sie die Warnung entfernen können, wenn Sie UglifyJSPlugin im Produktionsmodus verwenden?

Antwort

-2

Sie sollten das DefinePlugin verwenden und die Knotenumgebung für die Produktion festlegen.

+0

Ziemlich kryptische Antwort. Es wäre besser, wenn Sie mit Code zeigen würden, was Sie meinen. – robertklep

+0

Es ist schwer, eine Antwort am Telefon einzugeben. Sie können es hier sehen: https://github.com/codaxy/cx-starter-kit/blob/master/config/webpack.prod.js – Marko

0

Wie Marko sagte, verwenden Sie das DefinePlugin wie folgt.

{ 
    entry: "src/main.js", 
    output: { 
     path: 'dist', 
     filename: "bundle.js" 
    }, plugins:[ 
    new webpack.DefinePlugin({ 
     'process.env':{ 
     'NODE_ENV': JSON.stringify('production') 
     } 
    }), 
    new webpack.optimize.UglifyJsPlugin({ 
     compress:{ 
     warnings: true 
     } 
    }) 
    ] 
} 
+0

dies jetzt implementieren. Gibt es eine Möglichkeit, den Wert von NODE_ENV basierend auf einer Umgebungsvariablen zu basieren? –

+0

Also habe ich versucht, dies in der Komponente und der Web-App ohne Änderung der Ergebnisse zu implementieren. Ich habe auch die NODE_ENV auf dem Build-Rechner auf Produktion eingestellt. –

+0

Die Werte von process.env sind standardmäßig auf die Umgebungsvariablen festgelegt. Mit dem DefinePlugin können Sie sie im Code hinzufügen/überschreiben. – Maurice

Verwandte Themen