2010-08-26 7 views
7

¿Es posible compilar una aplicación JS y el intérprete NodeJS en un solo ejecutable para su distribución?¿Es posible compilar una aplicación JS + el intérprete NodeJS en un único ejecutable?

+0

Salida: http://www.appcelerator.com/ si se quiere desarrollar ejecutables utilizando JS, HTML y CSS. – BGerrissen

+0

Gracias @BGerrissen, pero en realidad es una aplicación node.js del lado del servidor que ya se está ejecutando y que me gustaría distribuir "de manera segura" a los servidores de un cliente. –

+0

No creo que las herramientas de nodejs estén lejos, pero lamentablemente. He estado mirando alrededor y viendo muchas configuraciones manuales. Todos implican instalar nodejs y luego implementar código usando git o whatnot. – BGerrissen

Respuesta

1

¿Es posible compilar una aplicación JS y el intérprete NodeJS en un único ejecutable para su distribución?

Esto puede sonar obvio, pero esta es mi opinión.

A "ejecutable único para la distribución" se parece mucho a un instalador ...

Un instalador contendría o ser capaz a buscar las secuencias de comandos en línea js y un node.js. compilados Se descomprimiría todo y se crearía un script en /etc/init.d/ para iniciar y detener el servidor.

Si todos sus clientes están en la misma distribución (por ejemplo, Debian), solo crearía un paquete para la herramienta de empaquetado adecuada (por ejemplo, apt) y dejaría que la herramienta del paquete maneje todo.

Si todos los clientes tienen diferentes distribuciones, puede consultar autopackage.

6

que necesitan una máquina Linux con git y Python, solución, entonces fea:

$ git clone git://github.com/ry/node.git 
$ cd node 
$ vim src/node.js # add your code to end before "process.loop();" 
$ ./configure 
$ make 
$ sudo make install 
$ node 
+1

feo de hecho. Creo que es mejor sobrescribir la parte 'if (process.argv [1]) {... module.runMain()' en 'src/node.js', y cargar su código como un módulo raíz en lugar de insertarlo literal. Aunque no he probado. – user123444555621

+0

la idea fue guía digitala para leer el código fuente del nodojs :) – Lauri

+0

Bueno uno. +1 para eso: D – user123444555621

1

Si su objetivo es ejecutar javascript, usted podría ser capaz de crear un C simple o programa contenedor de C++ que generar una intérprete y evalúa tu JS. Si desea un solo archivo, la fuente js se puede incluir como una constante de cadena.

Cuando compiló el programa contenedora, desea statically link al nodo y al resto de su árbol de dependencias. En lugar de depender de las bibliotecas compartidas en el sistema, la vinculación estática copiará las rutinas de las que depende su proyecto en el binario compilado.

La forma de hacerlo dependerá de su entorno

Cuestiones relacionadas