2011-11-25 14 views
11

Ho studiato il modo in cui i vari concetti di modulo possono essere applicati all'interno di NodeJS e delle applicazioni browser utilizzando la richiesta NodeJS (ovviamente nelle app NodeJS) e RequireJS per l'ambiente browser Web.È possibile rendere il modulo JavaScript compatibile sia con NodeJS che con RequireJS?

Poi mi sono reso conto che alcuni moduli possono essere utili per l'uso da parte sia delle applicazioni client che server e quindi potrebbero essere riutilizzati.

Come possono essere sviluppati i moduli in modo che siano compatibili con entrambi questi ambienti?

Uno è sincrono e uno asincrono. Il mio primo pensiero è stato quello di utilizzare la sintassi asincrona e quindi di definire un modulo personalizzato per NodeJS che richiama semplicemente il callback asincrono, in modo sincrono. Ma come dovrebbe essere incluso l'emulatore RequireJS nel modulo cross-environment senza prima utilizzare il callback sincrono NodeJS?

risposta

1

Vedi anche l'insieme di boilerplates a https://github.com/umdjs/umd

Chi asincrona rispetto sincronizzazione - per definire() in nodo, è comune utilizzare solo l'esecuzione sincrona della fabbrica funzione passata a definire. Ecco come requirejs funziona durante l'esecuzione nel nodo.

1

Il progetto http://uRequire.org colma le lacune dei AMD & nodejs/commonJs formati. U può scrivere in uno (o entrambi) ed eseguire/distribuire su uno dei due o uno standalone.js.

Problemi correlati