¿Puedo utilizar CoffeeScript en lugar de JS para Node.js?
-
10-10-2019 - |
Pregunta
¿Cuáles son mis restricciones si quiero Node.js código y uso CoffeeScript? ¿Puedo hacer algo que sería capaz de hacer en JS?
Solución
Sí, CoffeeScript simplemente compila en JS puro, lo que es completamente compatible con node.js.
Para ejecutar CoffeeScripts en el nodo, puede:
- Tipo
coffee -c example.coffee
para compilar, seguido denode example.js
para ejecutar la JS compilada. - Simplemente escriba
coffee example.coffee
Otros consejos
No sólo se puede ejecutar archivos directamente en el Nodo CoffeeScript con
coffee source.coffee
También puede obligar a ellos como si fueran archivos JavaScript. Por ejemplo, si usted tiene lib.coffee
en un directorio, puede escribir
require './lib'
desde otro archivo CoffeeScript en el mismo directorio. (Para hacer esto desde un archivo JavaScript, tendrá que añadir require 'coffee-script'
en la parte superior.) Por lo tanto, nunca se tiene que hacer la compilación explícitamente en el nodo, a menos que esté envasado de su proyecto para el despliegue con una herramienta como NPM.
Una advertencia: En seguimientos de pila, los números de línea que van a ver referirse al JavaScript compilado, incluso cuando se está ejecutando CoffeeScript directamente (por lo que no tiene acceso al JavaScript). Una gran cantidad de personas están tratando de solucionar este problema, pero es un gran reto.
Sí, he aquí una respuesta diferente y más simple. Que tiene que hacer 2 pasos.
-
npm install coffee-script --save # I assume you would have done this already
. -
Tienes
require('coffee-script')
como la primera línea que se ejecutan enserver.js
deapp.js
. ( ACTUALIZACIÓN: desde coffeescript 1.7, que tendrá que hacerrequire('coffee-script/register'))
Esta registros compilador CoffeeScript a su aplicación y se puede empezar el tratamiento de archivos de café y archivos js igualmente ahora (lo que significa que se puede requerir archivos de café también!).
Este método requiere que escriba sólo el archivo (app.js) en javascript vainilla. Pero la ventaja es que el entorno de despliegue no necesita tener CoffeeScript como una dependencia inicial instalada a nivel mundial para ejecutar su aplicación. En este caso, sólo tendría que copiar el código y npm install
sería instalar todos los paquetes necesarios. Y npm start
tendría preparación para usar
Tutoriales en vídeo
he visto una gran serie de tutoriales por Pedro Teixeira . Ha sido la construcción de toda una serie de tutoriales de nodo. Se incluye una referencia a nodemon para la detección automática y la compilación y carga de archivos editados .coffee.
You can use Jitter, a Simple continuous compilation for CoffeeScript.
npm install -g jitter
Let's say you have a bunch of *.coffee files in the coffee directory, and want to compile them to the js directory. Then run:
jitter coffee js
Jitter runs in the background until you terminate it (Ctrl+C), watching for new changes.
Coffeescript + ExpressJS + Couchdb + Redis + Auth:
Try this
#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"
Then do:
chmod +x demo.coffee
./demo.coffee
CoffeeScript has pretty solid integration with node. Once the 'coffee-script' module is loaded, either by require('coffee-script')
, by the she-bang I demo'd above, or by running coffee demo.coffee
... once loaded, you can used require('./foo')
to bring in foo.coffee
If you want to automatically compile all your coffeescript files (in one directory including subdir) every time they change into javascript, just use this command:
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc