Ich habe das woanders gepostet, aber ehrlich gesagt wäre hier ein besserer Ort.
Angenommen, Sie installieren React 15.0.1 mit npm import react from 'react'oder react = require('react')werden ausgeführt, ./mode_modules/react/lib/React.jswas die Rohquelle von React ist.
Die React-Dokumente schlagen vor, dass Sie sie ./mode_modules/react/dist/react.jsfür die Entwicklung und react.min.jsfür die Produktion verwenden.
Wenn Sie die Produktion minimieren /lib/React.jsoder /dist/react.jsfür die Produktion verwenden, zeigt React eine Warnmeldung an, dass Sie den Nichtproduktionscode minimiert haben:
Warning: 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 fb.me/react-minification for more details.
React-Dom, Redux, React-Redux verhalten sich ähnlich. Redux zeigt eine Warnmeldung an. Ich glaube, React-Dom auch.
Sie werden daher ausdrücklich aufgefordert, die Produktionsversion von zu verwenden /dist.
Wenn Sie jedoch die /distVersionen minimieren, wird sich das UglifyJsPlugin des Webpacks beschweren.
WARNING in ../~/react/dist/react.js
Critical dependencies:
4:478-485 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
@ ../~/react/dist/react.js 4:478-4851
Sie können diese Meldung nicht vermeiden, da UglifyJsPlugin nur Webpack-Chunks ausschließen kann, nicht einzelne Dateien.
Ich benutze sowohl die Entwicklungs- als auch die Produktionsversion /distselbst.
- Webpack hat weniger Arbeit zu erledigen und endet etwas früher. (YRMV)
- React Docs sagen,
/dist/react.min.jsist für die Produktion optimiert. Ich habe keinen Beweis dafür gelesen, dass 'process.env': { NODE_ENV: JSON.stringify(IS_PRODUCTION ? 'production' : 'development') }plus uglify so gute Arbeit leistet wie '/ dist / react.min.js`. Ich habe keinen Beweis gelesen, dass Sie den gleichen resultierenden Code erhalten.
- Ich erhalte 1 Warnmeldung von uglify anstatt 3 vom React / Redux-Ökosystem.
Sie können Webpack die /distVersionen verwenden lassen mit:
resolve: {
alias: {
'react$': path.join(__dirname, 'node_modules', 'react','dist',
(IS_PRODUCTION ? 'react.min.js' : 'react.js')),
'react-dom$': path.join(__dirname, 'node_modules', 'react-dom','dist',
(IS_PRODUCTION ? 'react-dom.min.js' : 'react-dom.js')),
'redux$': path.join(__dirname, 'node_modules', 'redux','dist',
(IS_PRODUCTION ? 'redux.min.js' : 'redux.js')),
'react-redux$': path.join(__dirname, 'node_modules', 'react-redux','dist',
(IS_PRODUCTION ? 'react-redux.min.js' : 'react-redux.js'))
}
}
process.envfür Webpack-Benutzer: stackoverflow.com/questions/37311972/…