Cargando archivo js remoto usando require con node.js

He estado trabajando en un servidor de socket en línea usando NodeJS y javascript, y he estado creando “salas de juego” en mi código usando require

new_game_obj = require('./forza4.js'); 

Ahora … esto funciona cuando pruebo mi código en mi máquina local, pero para el servidor de producción se me ha presentado un problema. Parecería que, por alguna razón técnica, el proceso que ejecuta mi código está en una máquina diferente a la que tengo acceso (para cargar archivos, y demás), así que los chicos de la granja de servidores me pidieron que cambiara mi Código para que yo cargue el código que tengo en “forza4.js” desde una posición global, y no local, como lo hago en este momento. Así que cambié el código a esto:

 new_game_obj = require('http://www.xxxxx.com/blabla/forza4.js'); 

(Por supuesto que probé para ver si el archivo está allí, solo para estar seguro, se muestra en el navegador cuando señalo esa dirección real). Pero recibo un error de mi código (nuevamente, en este punto, estoy corriendo esto localmente en mi máquina), que dice:

Excepción: Error: No se puede encontrar el módulo ‘ http://www.xxxxx.com/blabla/forza4.js ‘

Así que solo para estar en el lado seguro, hice:

 new_game_obj = require('http://92.xx.xx.xx/blabla/forza4.js'); 

Pero de nuevo, el mismo error.

¿Debería haber un problema al cargar una “extensión” a mi código desde un servidor remoto, o simplemente estoy formateando la llamada de “requerimiento” incorrecta?

¡Gracias un montón!

Yuval.

PS Este es un seguimiento de este hilo: esta es la publicación más antigua y resuelta.

Echa un vistazo a los módulos node.js docs

Específicamente, referirse al algoritmo requerido.

En node.js, las llamadas obligatorias son sincrónicas, por lo que no es posible cargar archivos que no están en su sistema de archivos (es decir, desde una URL externa).

Actualizar

Puede obtener el código a través de una solicitud http (o, mejor aún, una solicitud https y ejecutarlo con el módulo vm incorporado) o incluso con eval , pero eso no parece una buena idea, como se sugiere en esta pregunta anterior .

Algo como

 https.get( 'https://www.xxxxx.com/blabla/forza4.js', function( res ){ res.on( 'data', function( data ){ vm.runInThisContext( data, 'remote/forza4.js' ); }); }); 

Nota : no probé este código

Claro que no es la mejor solución, pero es una solución.