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.js
yang merupakan sumber mentah React.
Dokumen React menyarankan Anda menggunakan ./mode_modules/react/dist/react.js
untuk pengembangan dan react.min.js
produksi.
Jika Anda meminimalkan /lib/React.js
atau /dist/react.js
untuk 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 /dist
versinya, 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 /dist
sendiri.
- Webpack memiliki lebih sedikit pekerjaan yang harus dilakukan dan selesai sedikit lebih cepat. (YRMV)
- Dokumen React mengatakan
/dist/react.min.js
dioptimalkan 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 /dist
versinya 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.env
untuk pengguna webpack: stackoverflow.com/questions/37311972/…