2012-10-19 12 views
7

मैं एक ताजा विंडोज 7 पर चलने Node.js की स्थापित के साथ JQuery का उपयोग कर त्रुटियाँ, और मैं एक बहुत ही बुनियादी JQuery स्क्रिप्ट, a.js नाम है, जो सिर्फ होता है चलाने के लिए कोशिश कर रहा हूँ दुर्भाग्य से, इस JQuery के साथ चलेंगे नहीं, मुझे एक लेखन त्रुटि दे रही है:Node.js

C:\Users\Ian>node a.js 

C:\Users\Ian\node_modules\jquery\lib\node-jquery.js:10 
    window.XMLHttpRequest.prototype.withCredentials = false; 
         ^
TypeError: Cannot read property 'prototype' of undefined 
    at create (C:\Users\Ian\node_modules\jquery\lib\node-jquery.js:10:26) 
    at C:\Users\Ian\node_modules\jquery\lib\node-jquery.js:9435:18 
    at Object.<anonymous> (C:\Users\Ian\node_modules\jquery\lib\node-jquery.js:9437:2) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 
    at Module.require (module.js:362:17) 
    at require (module.js:378:17) 
    at Object.<anonymous> (C:\Users\Ian\a.js:1:63) 

मैं गूगल के माध्यम से इस त्रुटि के बारे में कुछ बग रिपोर्ट, जिनमें से अधिकांश पदावनति JQuery का सुझाव मिल गया है। हालांकि, जब मैं ऐसा करता हूं, तो मुझे बस एक अलग त्रुटि मिलती है। नीचे JQuery 1.6.3:

C:\Users\Ian>node a.js 

module.js:340 
    throw err; 
    ^
Error: Cannot find module 'location' 
    at Function.Module._resolveFilename (module.js:338:15) 
    at Function.Module._load (module.js:280:25) 
    at Module.require (module.js:362:17) 
    at require (module.js:378:17) 
    at create (C:\Users\Ian\node_modules\jquery\node-jquery.js:6:33) 
    at C:\Users\Ian\node_modules\jquery\node-jquery.js:9065:18 
    at Object.<anonymous> (C:\Users\Ian\node_modules\jquery\node-jquery.js:9067:2) 
    at Module._compile (module.js:449:26) 
    at Object.Module._extensions..js (module.js:467:10) 
    at Module.load (module.js:356:32) 

क्या कोई सुझाव दे सकता है कि क्या गलत हो सकता है? मैंने बिना किसी किस्मत के सॉफ्टवेयर की विभिन्न पुनर्स्थापना की कोशिश की है। मैंने jquery के डिफ़ॉल्ट संस्करण और [email protected] दोनों के लिए npm install -g और npm install दोनों को आजमाया है।

संपादित करें: This question - अभी तक अनुत्तरित - संबंधित प्रतीत होता है।

+2

आप सर्वर-साइड पर jQuery क्यों चला रहे हैं? – SLaks

+0

कोई अच्छा जवाब नहीं है @ एसएलएक्स - मैं किसी और के कोड का उपयोग कर रहा हूं जो सर्वर पक्ष पर JQuery चलाता है। जब मैं उस काम को पाने में असफल रहा, तो मैं यह सुनिश्चित करने के लिए अपने छोटे परीक्षण उदाहरण के साथ आया कि समस्या केवल JQuery भाग के साथ थी, और अन्य व्यक्ति के कोड में कुछ भी नहीं। – Ina

+0

@Ina हाँ, लेकिन यह समस्या है, jQuery एक सर्वरसाइड लाइब्रेरी नहीं है, यह नोड में मौजूद सामग्री पर निर्भर करता है। –

उत्तर

8

तो नोड 0.10.x पर उर ... चलाने sudo NPM पुनर्निर्माण

https://github.com/coolaj86/node-jquery/issues/35

+0

बहुत बढ़िया! मेरी शाम को बचाने के लिए धन्यवाद :) – nuc

+0

यह मुझे पहले भी मिला। मैं उबंटू चला रहा था। Apt आपको केवल 0.6 प्राप्त करता है। 0.10 और फिर यह त्रुटि में अपग्रेड किया गया। Node_modules साफ और npm स्थापित reran। – critium

0

आप $ चर के लिए मॉड्यूल आवंटित करने के लिए है:

var $ = require('jquery'); 
$().jquery; 
+1

True , लेकिन त्रुटि 1 लाइन पर होती है, इसलिए यह अपरिभाषित '$' नहीं है। – pimvdb

+0

धन्यवाद @zeMirco, दुर्भाग्य से यह मेरी किसी भी त्रुटि को नहीं बदलता है। – Ina

+0

त्रुटि आपके शेष कोड में होना चाहिए जिसे आपने हमें नहीं दिखाया था। पहली त्रुटि कहती है कि 'window.XMLHttpRequest' अपरिभाषित है। – zemirco

3

jQuery-NodeJS परियोजना के लिए Git पेज में, Windows पर नहीं काम करता है कि कहते हैं, तो समस्या अपने ओएस है। https://github.com/coolaj86/node-jquery

+1

मुझे एक ही समस्या है लेकिन मैक ओएस एक्स पर शायद नोड 0.10.0 के साथ कुछ करना है क्योंकि मुझे यह अपग्रेड से पहले नहीं हुआ था। –

+0

यह वास्तव में सटीक नहीं है: संदर्भ विंडोज पर आसानी से निर्माण नहीं करता है, लेकिन यदि आप आवश्यक एमएस बिल्ड टूल्स स्थापित करते हैं तो आप इसे नोड-जीपीपी का उपयोग करके कर सकते हैं। एक बार ऐसा करने के बाद, jQuery स्थापित करने योग्य होना चाहिए। – Tom

0

मैं Rehl पर इस समस्या में पड़ गए और sudo NPM मेरे लिए समस्या हल पुनर्निर्माण।

0

Windows चला रहे लोगों के लिए, NPM पुनर्निर्माण काम नहीं कर सकता और आप अभी भी कुछ इस तरह देख सकते हैं:

C:\Projects\NODE\paragraphs\node_modules\jquery\lib\node-jquery.js:10 
window.XMLHttpRequest.prototype.withCredentials = false; 
        ^
TypeError: Cannot read property 'prototype' of undefined 

मिले this solution उपयोगकर्ता NeverI कि मेरे लिए चाल किया था करने के लिए धन्यवाद:

में नोड-jquery.js (\ node_modules \ jquery \ lib के अंतर्गत पाया गया) लाइनों को बदलें:

if(window == null) { 
    window = require('jsdom').jsdom().createWindow(); 

से:

if(!window || !window.document) { 
    window = require('jsdom').createWindow(); 
    window.document = require('jsdom').jsdom();