2014-07-11 8 views
10

के साथ ब्राउज़रइफ़ का उपयोग करना कुछ संक्षिप्त पृष्ठभूमि: मैं एक वेब ऐप बनाने के लिए ब्राउज़र और ब्राउज़रify-शिम (और निर्माण करने के लिए गलती) का उपयोग कर रहा हूं। इस मुद्दे से पहले, मैं require एनपीएम से jquery आईएनजी था इसलिए मुझे कोई समस्या नहीं थी। एक बार जब मैंने कुछ अनुकूलन करना शुरू कर दिया, तो मुझे एहसास हुआ कि jQuery के साथ बंडल कितना भारी था। तो अब मैं एक सीडीएन से स्क्रिप्ट टैग के साथ jQuery को पकड़ रहा हूं और इसे bundle.js फ़ाइल से पहले रख रहा हूं। लेकिन मुझे jQuery को ग्लोबल के रूप में घोषित करने में समस्याएं आ रही हैं और ब्राउजरिफ़ और ब्राउजरिफ़-शिम में मेरे jQuery प्लगइन को ठीक से शर्मिंदा कर रही हैं। जब मैं घूंट चलाने के निर्माण के लिए, मैं एक ही त्रुटि मिलती रहती है:jQuery प्लगइन्स

[gulp] gulp-notify: [Compile Error] module "jquery" not found from "/Volumes/Chetan/Users/cshenoy/Projects/urbanstems-node/app/plugins/jquery.inview.js"

ऐसा लगता है कि browserify-शिम एक वैश्विक जा रहा है jQuery पर उठा नहीं है लगता है।

संदर्भ के लिए, मैं inview plugin का उपयोग कर रहा हूं।

यहाँ प्रासंगिक भागों के साथ अपने package.json है

"browser": { 
    "inview": "./app/plugins/jquery.inview.js" 
}, 
"browserify-shim": { 
    "jquery": "global:jQuery", 
    "inview": { 
    "depends": [ 
     "jquery" 
    ] 
    } 
} 

मुझे पता है और क्या मैं त्रुटि निदान करने में मदद करने के लिए शामिल कर सकते हैं करते हैं।

+4

मैं विपरीत दिशा में जाने के बारे में उत्सुक हूं। जब आपको एनपीएम से '(jquery') की आवश्यकता होती है, तो आप इसे वैश्विक स्तर पर कैसे उजागर कर सकते हैं ताकि प्लगइन अभी भी काम कर सकें? –

+0

मैंने इसे वैश्विक रूप से बेनकाब नहीं किया जब मैंने इसे एनपीएम से स्थापित किया। Browserify-shim के अंदर jquery के लिए मूल्य $ या jQuery होगा। फिर आपके सभी jQuery- निर्भर प्लगइन्स इसके नीचे सूचीबद्ध फ़ील्ड सूची jquery के साथ सूचीबद्ध किए जाएंगे। –

उत्तर

6

बाहर निकलता है कि आपको browserify-shim के तहत प्रत्येक jQuery प्लगइन घोषित करने की आवश्यकता नहीं है अगर यह केवल jQuery पर निर्भर करता है। मैंने अभी अवलोकन प्रविष्टि हटा दी है और सब कुछ ठीक काम करता है।

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