Saya memposting ini di tempat lain tetapi, terus terang, di sini akan menjadi tempat yang lebih baik.
Dengan asumsi Anda menginstal React 15.0.1 dengan npm, import react from 'react'atau react = require('react')akan berjalan ./mode_modules/react/lib/React.jsyang merupakan sumber mentah React.
Dokumen React menyarankan Anda menggunakan ./mode_modules/react/dist/react.jsuntuk pengembangan dan react.min.jsproduksi.
Jika Anda meminimalkan /lib/React.jsatau /dist/react.jsuntuk produksi, React akan menampilkan pesan peringatan bahwa Anda telah meminimalkan kode non-produksi:
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 berperilaku serupa. Redux menampilkan pesan peringatan. Saya percaya react-dom juga begitu.
Jadi, Anda jelas didorong untuk menggunakan versi produksi dari /dist.
Namun jika Anda mengecilkan /distversinya, UglifyJsPlugin webpack akan mengeluh.
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
Anda tidak dapat menghindari pesan ini karena UglifyJsPlugin hanya dapat mengecualikan potongan webpack, bukan file individual.
Saya menggunakan versi pengembangan dan produksi /distsendiri.
- Webpack memiliki lebih sedikit pekerjaan yang harus dilakukan dan selesai sedikit lebih cepat. (YRMV)
- Dokumen React mengatakan
/dist/react.min.jsdioptimalkan untuk produksi. Saya tidak membaca bukti bahwa 'process.env': { NODE_ENV: JSON.stringify(IS_PRODUCTION ? 'production' : 'development') }plus uglify berfungsi sebaik '/ dist / react.min.js`. Saya tidak membaca bukti bahwa Anda mendapatkan kode yang sama.
- Saya mendapat 1 pesan peringatan dari uglify daripada 3 dari ekosistem react / redux.
Anda dapat meminta webpack menggunakan /distversinya dengan:
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.envuntuk pengguna webpack: stackoverflow.com/questions/37311972/…