ho una nuova installazione di node.js in esecuzione su Windows 7, e sto cercando di eseguire uno script JQuery molto semplice, chiamato a.js
, che contiene solo:errori utilizzando jQuery con node.js
require("jquery");
$().jquery;
Purtroppo, questo non verrà eseguito con JQuery, dandomi un TypeError:
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)
ho trovato un paio di segnalazioni di bug su questo errore tramite Google, la maggior parte dei quali suggeriscono declassamento JQuery. Tuttavia, quando lo faccio, ho solo un errore diverso. Il seguente è con 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)
Qualcuno può suggerire cosa potrebbe essere sbagliato? Ho provato varie reinstallazione del software senza fortuna. Ho provato sia npm install -g
e npm install
sia per la versione predefinita di jquery che [email protected]
Modifica: This question - non ancora risposta - sembra correlato.
Perché si esegue jQuery sul lato server? – SLaks
Nessuna buona risposta mi dispiace @ SLaks - Sto facendo uso del codice di qualcun altro che esegue JQuery sul lato server. Quando non sono riuscito a farlo funzionare, mi è venuto in mente il mio banale esempio di test per assicurarmi che il problema riguardasse solo la parte JQuery e non qualsiasi altra cosa nel codice dell'altra persona. – Ina
@Ina Sì, ma questo è il problema, jQuery non è una libreria serveride, si basa su cose non presenti nel nodo. –