2015-04-26 49 views
5

Sto provando a impostare un modulo di contatto di base utilizzando SengGrid e continuo a ricevere un errore "Uncaught ReferenceError: require non definito".Risolto errore "Uncaught ReferenceError: require is not defined" in Node.js

Ho questo codice in un tag di script nella testa della pagina html.

var sendgrid = require('sendgrid')(username,pass); 

Ho visto requirejs, ma non sono sicuro del motivo per cui sto ricevendo questo errore. Qualcuno potrebbe spiegarmi come posso risolvere questo problema?

+1

Stai davvero utilizzando node.js? Questo codice dovrebbe essere aggiunto nel codice del tuo server JavaScript, non nella pagina HTML. –

+1

Node.js non è nel browser. Se si desidera utilizzare requirejs nel browser, sarà necessario utilizzare un tag script per caricarlo. –

risposta

9

require() non è integrato nel browser.

Quindi quando si dice "Ho questo codice in un tag script nella testa della pagina html". ciò spiegherebbe perché il simbolo require non è definito quando viene eseguito lo script. Se si desidera utilizzare require() nel browser, è necessario innanzitutto utilizzare un tag script per caricare una libreria che definisce la funzione di richiesta e supporta la funzionalità di tipo require() e assicurarsi che venga caricata correttamente prima di provare a utilizzare require(). requirejs è una libreria di questo tipo che è possibile utilizzare.

require() è incorporato in node.js sul server in modo che sia sempre disponibile lì.

+2

Cosa devo fare per avere require() in angularjs? – cfl

+1

@cfl - per favore rileggi il paragrafo centrale della mia risposta. Vi dico esattamente cosa potete usare se volete 'require()' come funzionalità in un browser. Ecco un articolo a riguardo: http://www.sitepoint.com/using-requirejs-angularjs-applications/ – jfriend00

4

Fondamentalmente è necessario trasformare il codice sorgente per il browser, sostituendo richiedono chiamate con il codice del modulo effettivo. Date un'occhiata a questi programmi di utilità:

Problemi correlati