मैंने इसे कहीं और पोस्ट किया, लेकिन स्पष्ट रूप से, यहां एक बेहतर जगह होगी।
मान लें कि आप प्रतिक्रिया 15.0.1 को npm के साथ स्थापित करते हैं, import react from 'react'
या react = require('react')
चलेगा ./mode_modules/react/lib/React.js
जो कि रिएक्ट का कच्चा स्रोत है।
प्रतिक्रिया डॉक्स आपको ./mode_modules/react/dist/react.js
विकास और react.min.js
उत्पादन के लिए उपयोग करने का सुझाव देते हैं ।
क्या आपको उत्पादन करना /lib/React.js
या /dist/react.js
उत्पादन करना चाहिए , रिएक्ट एक चेतावनी संदेश प्रदर्शित करेगा, जिसे आपने गैर-उत्पादन कोड के रूप में परिभाषित किया है:
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.
प्रतिक्रिया-डोम, रिडक्स, प्रतिक्रिया-रिडक्स समान व्यवहार करते हैं। Redux एक चेतावनी संदेश प्रदर्शित करता है। मेरा मानना है कि रिएक्शन-डोम भी करता है।
तो आपको स्पष्ट रूप से उत्पादन संस्करण का उपयोग करने के लिए प्रोत्साहित किया जाता है /dist
।
हालाँकि, यदि आप /dist
संस्करणों को छोटा करते हैं, तो वेबपैक का UglifyJsPlugin शिकायत करेगा।
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
आप इस संदेश से बच नहीं सकते क्योंकि UglifyJsPlugin केवल वेबपैक विखंडू को बाहर कर सकता है, न कि व्यक्तिगत फ़ाइलों को।
मैं /dist
स्वयं विकास और उत्पादन दोनों संस्करणों का उपयोग करता हूं।
- वेबपैक के पास काम करने के लिए कम है और थोड़ा जल्दी खत्म हो जाता है। (YRMV)
- प्रतिक्रिया डॉक्स का कहना
/dist/react.min.js
है कि उत्पादन के लिए अनुकूलित है। मैंने कोई सबूत नहीं पढ़ा है कि 'process.env': { NODE_ENV: JSON.stringify(IS_PRODUCTION ? 'production' : 'development') }
प्लस बदसूरत '' / dist / react.min.js` के रूप में अच्छा काम करता है। मैंने कोई सबूत नहीं पढ़ा है कि आपको समान परिणाम प्राप्त हो।
- मुझे प्रतिक्रिया / रिड्यूस इकोसिस्टम से 3 के बजाय 1 से अछूता संदेश मिलता है।
आप वेबपैक के /dist
साथ संस्करणों का उपयोग कर सकते हैं :
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