2014-10-26 14 views
5

मैं browserify का उपयोग ReactJS और (दूसरों के बीच) react-router बंडल करने। लेकिन जब मैं कंसोल, संदेश ...browserify लोड हो रहा है ReactJS प्रतिक्रिया रूटर

डाउनलोड एक बेहतर विकास के अनुभव के लिए DevTools प्रतिक्रिया में देखो: http://fb.me/react-devtools

... ऊपर दो बार से पता चलता मुझे बता (!) वास्तव में दो ReactJS उदाहरण चल रहे हैं। यदि मैं अपने ब्राउज़र जेएस में देखता हूं तो मैंने केवल एक बार ReactJS स्रोत देखा (अद्यतन)।

मैं इससे कैसे बचूँगा?

नोट: कृपया मुझे बताएं कि आपको अधिक जानकारी चाहिए, तो मैं इसे प्रदान करूंगा।


package.json

"dependencies": { 
    "LiveScript": "^1.3.0", 
    "jquery": "*", 
    "firebase": "*", 
    "react": "0.11.2", 
    "reactfire": "*", 
    "react-router": "*", 
    ... 
} 

जब मैं npm ls | grep -i react मैं चलाने ...

___ [email protected] 
___ [email protected] 
___ [email protected] 
_ ___ [email protected] 

तो, प्रतिक्रिया0.11.2 के रूप में भरी हुई है (संभवतः दो बार)। सुझाए गए अनुसार, अब मैं npm dedupe आज़माउंगा।

+0

क्या यह संभव है कि आपके एचटीएमएल में सीडीएन-होस्टेड रिएक्ट स्रोत का पुराना संदर्भ हो? –

+0

सीडीएन-होस्टेड प्रतिक्रिया? मैं इसे लाने के लिए ** एनपीएम ** का उपयोग कर रहा हूं। यह कोई मुद्दा नहीं होना चाहिए, है ना? – xanderiel

उत्तर

1

रन npm dedupe। सबसे अधिक संभावना यह प्रतिक्रिया के केवल दो अलग पैच संस्करण है।

आपको निर्भरताओं के लिए कभी भी वाइल्डकार्ड का उपयोग नहीं करना चाहिए। प्रतिक्रिया, और प्रतिक्रिया-राउटर ^0.9 के लिए।

+0

'' 'npm ls''' के साथ मेरा प्रश्न अपडेट किया गया है अब मैं dedupe कोशिश करूंगा। – xanderiel

+0

काम नहीं किया! मैंने इसे '' 'npm ls''' के साथ देखने की कोशिश की जहां * प्रतिक्रिया * वास्तव में दो बार दिखाया गया, फिर' 'npm dedupe''' जिसे डुप्लिकेट * प्रतिक्रिया * हटा दिया गया। लेकिन * ब्राउज़र * के साथ निर्माण के बाद * यह अभी भी '' 'DevTools डाउनलोड करें ...' '' कंसोल में दो बार। – xanderiel

+0

फिर भी, '' 'npm dedupe''' के साथ अच्छी सलाह। हो सकता है कि मैं '' 'npm shrinkwrap''' भी जोड़ दूंगा। – xanderiel

1

जांचें कि क्या आप किसी भिन्न नाम से प्रतिक्रिया आयात कर रहे हैं। उदाहरण के लिए

var React = require('react'); 

और

var React = require('React'); 

कारण होगा आयात किया जा करने के लिए प्रतिक्रिया दो बार प्रतिक्रिया देते हैं।

संबंधित मुद्दे