2011-09-05 20 views

risposta

12

Prima di tutto, si dovrebbe dare un'occhiata alla documentazione Moduli per i node.js: http://nodejs.org/docs/v0.5.5/api/modules.html

Lo script si sta cercando di includere non è un modulo node.js, così si dovrebbe fare qualche cambia ad esso. Poiché non esiste un ambito globale condiviso tra i moduli in node.js, è necessario aggiungere tutti i metodi ai quali si desidera accedere all'oggetto Export. Se si aggiunge questa riga al file latlon.js:

exports.LatLon = LatLon; 

... si dovrebbe essere in grado di accedere alla funzione LatLon in questo modo:

var LatLonModule = require('./lib/latlon.js'); 
var latlongObj = new LatLonModule.LatLon(lat, lon, rad); 
+1

Quasi: se si imposta 'exports.LatLon' , ci si arriva con 'require ('./ lib/latlon.js'). LatLon'. Per usare 'require' come nell'esempio,' latlon.js' ha bisogno di esportarsi con 'module.exports = LatLon'. – s4y

+0

Oops, mi dispiace, grazie :) Ho modificato la mia risposta. –

+1

Sicuro. Ma è perfettamente OK fare 'module.exports = LatLon', o saltare il salvataggio del modulo in una variabile e impostare' varLatLon = require ('./ lib/latlon.js'). LatLon' in un passo - loro ' entrambi i modelli comuni. – s4y

Problemi correlati