2011-09-07 19 views
26

Estoy haciendo algunos tutoriales y estoy escribiendo todo en CoffeeScript. Luego tengo que compilar a JS y luego ejecutar en node.js. ¿Hay alguna forma de hacerlo directamente?¿Puedo ejecutar un archivo .coffee directamente desde node.js?

+0

Vea la respuesta de Trevor Burnham a [esta pregunta] (http://stackoverflow.com/questions/4679782/can-i-use-coffeescript-instead-of-js-for-node-js) –

Respuesta

33

Si tiene NPM, utilizarlo para instalar CoffeeScript desde un indicador de nodo: http://jashkenas.github.com/coffeescript/#installation

Entonces, desde el símbolo del nodo, puede simplemente usar el comando de café para ejecutar:

coffee <yourcoffeescriptfile>.coffee 

Y, que acaba de compilar, pasar la bandera -c:

coffee -c <yourcoffeescriptfile>.coffee 
+8

También tenga en cuenta que puede 'requerir ('./ foo')' de un módulo de Nodo para traer 'foo.coffee', siempre que ya hayas ejecutado' require ('coffee-script') '(que obtienes de forma gratuita cuando ejecutas Nodo del comando 'coffee'); Agrega un gancho a la función 'require'. Así que mezclar y combinar los archivos '.coffee' y' .js' en una aplicación Node es muy simple. –

+0

Algo más de información sobre el uso de '-c': los resultados de compilación se guardan en un archivo' .js' con la misma raíz de nombre de archivo en la misma carpeta que el archivo de entrada, a menos que '-o' se use para especificar un carpeta. Utilice '-p' para imprimir el JavaScript resultante en' stdout'; ejecuta 'coffee -h' para ver todas las opciones. – mklement0

+0

El repositorio ha cambiado su nombre a 'coffeescript', por lo que el enlace debe ser https://github.com/jashkenas/coffeescript/#installation –

56

Sí se puede.

coffee source.coffee -n 

Ejecutará el nodo directamente sin generar ningún archivo .js.

Reference

actualización: café ahora también es compatible con --nodejs. Lo anterior hace lo mismo que

coffee source.coffee --nodejs 

Pero sí, es -n camino más corto.

+0

Esta es la respuesta que quiero, gracias – mko

+0

¡Vaya! Lo cambié a un voto positivo – mko

+0

Lol, mi mal. Espero que ayude sin embargo. Retomaré ese comentario. – yujingz

Cuestiones relacionadas