Bunu başka bir yere gönderdim ama açıkçası burası daha iyi bir yer olurdu.
React 15.0.1'i npm ile kurduğunuzu import react from 'react'
veya React'in ham kaynağı olan react = require('react')
çalışacağını varsayarsak ./mode_modules/react/lib/React.js
.
React belgeleri, ./mode_modules/react/dist/react.js
geliştirme ve react.min.js
üretim için kullanmanızı önerir .
Küçültmeniz /lib/React.js
veya /dist/react.js
üretim için yapmanız durumunda React, üretim dışı kodu küçülttüğünüze dair bir uyarı mesajı görüntüleyecektir:
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 benzer şekilde davranır. Redux bir uyarı mesajı görüntüler. React-dom'un da öyle olduğuna inanıyorum.
Bu nedenle, üretim sürümünü kullanmanız için açıkça teşvik ediliyor /dist
.
Ancak /dist
sürümleri küçültürseniz, webpack'in UglifyJsPlugin'i şikayet edecektir.
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
Bu mesajdan kaçınamazsınız çünkü UglifyJsPlugin tek tek dosyaları değil, yalnızca web paketi parçalarını hariç tutabilir.
Hem geliştirme hem de üretim /dist
versiyonlarını kendim kullanıyorum.
- Webpack'in yapacak daha az işi var ve biraz daha erken bitiyor. (YRMV)
- React belgeleri
/dist/react.min.js
, üretim için optimize edildiğini söylüyor . 'process.env': { NODE_ENV: JSON.stringify(IS_PRODUCTION ? 'production' : 'development') }
Artı çirkinleştirmenin '/ dist / react.min.js` kadar iyi bir iş yaptığına dair hiçbir kanıt okumadım. Ortaya çıkan aynı kodu aldığına dair hiçbir kanıt okumadım.
- React / redux ekosisteminden 3 yerine çirkinlikten 1 uyarı mesajı alıyorum.
Web paketinin aşağıdaki /dist
sürümleri kullanmasını sağlayabilirsiniz :
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
paketi kullanıcıları için harika kısa açıklama : stackoverflow.com/questions/37311972/…