2014-06-12 15 views
28

के साथ आयात jquery चूंकि एम्बर-क्ली 0.0.34 jquery को .jshint फ़ाइल से पूर्वनिर्धारित के रूप में हटा दिया गया है। तो jQuery आयातित किए जाने की जरूरत है, लेकिन मैं निम्नलिखित त्रुटि जब यह कर पाने:एम्बर-क्ली

import $ from 'jquery'; 

त्रुटि मैं मिलता है:

ENOENT, no such file or directory 'S:\...\tmp\tree_merger-tmp_dest_dir-Nb27WzDk.tmp\jquery.js' 
Error: ENOENT, no such file or directory 'S:\...\tmp\tree_merger-tmp_dest_dir-Nb27WzDk.tmp\jquery.js' 
    at Object.fs.statSync (fs.js:684:18) 
    at addModule (S:\...\node_modules\ember-cli\node_modules\broccoli-es6-concatenator\index.js:81:46) 
    ..... 

उत्तर

50

मैं हल jquery आयात नहीं कर समस्या। jQuery एंबर के माध्यम से उपलब्ध है। $ (link)

तो मैं Ember.$(...)$(...) के बजाय

+0

जब मैं ऐसा करने की कोशिश करता हूं तो मुझे एम्बर कहने में त्रुटि मिलती है। $ (...) परिभाषित नहीं किया गया है :(कोई विचार? – benbot

+2

@thecodethinker: सुनिश्चित करें कि आपने 'एम्बर से' एम्बर आयात 'शामिल किया है;' आपके शीर्ष पर फ़ाइल और हाल ही में एम्बर-क्ली संस्करण का उपयोग करें। – AWM

+11

किसी फ़ाइल में '$' के प्रत्येक इंस्टेंस को बदलने से बचने के लिए आप 'em $' em '$' से नीचे आयात कर सकते हैं 'em' से आयात करें; ' –

5

मैं एक ही समस्या में पड़ गए करने के बाद मैं ember-cli अद्यतन 0.0.34 तक। हालांकि मैं अभी भी अपने कोड में $ (jQuery) का उपयोग करने में सक्षम था, JSHint त्रुटि फेंक रखा:

project/views/blah.js: line 6, col 9, '$' is not defined.

आप अपने .jshintrc को संपादित करने और $predef वापस करने के लिए जोड़ सकते हैं।

{ 
    "predef": { 
    // ... 
    "$": true, 
    // ... 
    }, 
    // ... 
} 

निश्चित रूप से एक विधि import भी का उपयोग कर पसंद करेंगे।

सुनिश्चित नहीं हैं कि अगर यह किसी भी मदद की हो जाएगा, लेकिन मैं नीचे लाइन का उपयोग करके निर्माण के दौरान फ़ाइल का पता करने में सक्षम था, लेकिन यह ब्राउज़र में कुछ मुद्दों के कारण होता है:

import $ from 'vendor/jquery/dist/jquery';

+1

हाँ, यह काम करता है। लेकिन फिर jquery दो बार प्रसारित किया जाएगा: एक बार आपके cendor.js में और एक बार आपके आवेदन-पैक-संकलित-file.js में पैक किया गया। – amenthes

2

$ प्रतिपादन/इन्स्टेन्शियशन के बाद उपलब्ध हो जाता है, jQuery के सामान्य उपयोग के अनुसार उपयोग करने के लिए मेरे कोड बदल दिया है।

यदि jQuery का उपयोग करने के लिए वांछित है अन्यथा एम्बर उपसर्ग की आवश्यकता है।

हैंडलबार एम्बर के रूप में भी उपलब्ध है। हैंडलबार्स, एम्बर विस्तारित संस्करण के बावजूद।

+0

मुझे यकीन नहीं है कि यह एक समय में सच था, लेकिन यह एम्बर 1.12 के रूप में सच नहीं है। –

+0

हा! हाँ। इस पोस्ट की उम्र को ध्यान में रखते हुए, यह 0.7 या 0.8 के लिए था। –

0

मैं 'एंबर' से

आयात jQuery मेरी जे एस फ़ाइल के लिए इस कोड को जोड़कर समस्या हल हो;

0

एम्बर/एम्बर-सीएलआई के नए संस्करण विनाशकारी के लिए अनुमति देते हैं, पुस्तकालयों को आयात करना बहुत आसान बनाते हैं।

import Ember from 'ember'; 
const { $, get, set } = Ember; 

jquery, getters और setters में लाएगा।

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