2011-11-25 20 views
11

He estado investigando cómo se pueden aplicar varios conceptos de módulos dentro de NodeJS y aplicaciones de navegador usando el NodeJS requerido (obviamente en aplicaciones NodeJS) y RequireJS para el entorno del navegador web.¿Es posible hacer compatible el módulo JavaScript con NodeJS y RequireJS?

Entonces me di cuenta de que algunos módulos pueden ser útiles tanto para el cliente como para el servidor y, por lo tanto, podrían reutilizarse.

¿Cómo se pueden desarrollar los módulos para que sean compatibles con ambos entornos?

Uno es sincrónico y uno asincrónico. Lo primero que pensé fue utilizar la sintaxis asincrónica y luego definir un módulo personalizado para NodeJS que simplemente invoque la devolución de llamada asincrónica de forma sincrónica. Pero, ¿cómo se incluiría RequireJS-emulator en el módulo de entorno cruzado sin utilizar primero la devolución de llamada sincrónica de NodeJS?

Respuesta

1

Véase también el conjunto de boilerplates en https://github.com/umdjs/umd

Sobre asíncrono vs sincronización - para definir() en el nodo, es común que sólo tiene que utilizar la ejecución sincrónica de la fábrica función pasada para definir. Así es como requirejs funciona cuando se ejecuta en Node.

1

El proyecto http://uRequire.org puente entre los huecos de las AMD & nodejs/CommonJS formatos. U puede escribir en cualquiera (o ambos) y ejecutar/implementar en cualquiera de los dos o standalone.js.

Cuestiones relacionadas