loop - coffeescript vs javascript
¿Puedo usar CoffeeScript en lugar de JS para node.js? (8)
¿Cuáles son mis restricciones si quiero codificar node.js y usar CoffeeScript? ¿Puedo hacer algo que sea capaz de hacer en JS?
Coffeescript + ExpressJS + Couchdb + Redis + Auth:
No solo puede ejecutar archivos CoffeeScript directamente en el nodo con
coffee source.coffee
también puede solicitarlos como si fueran archivos JavaScript. Por ejemplo, si 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, deberá agregar require ''coffee-script''
en la parte superior). Por lo tanto, nunca tendrá que hacer una compilación explícitamente en Node, a menos que esté empaquetando su proyecto para su implementación con una herramienta como npm.
Una advertencia: en los rastreos de pila, los números de línea que verá se refieren al JavaScript compilado, incluso cuando está ejecutando CoffeeScript directamente (por lo que no tiene acceso al JavaScript). Mucha gente está tratando de arreglar esto, pero es un gran desafío.
Prueba esto
#!/usr/bin/env coffee
v = 78
console.log "The value of v is ''#{v}''"
Entonces hazlo:
chmod +x demo.coffee
./demo.coffee
CoffeeScript tiene una integración bastante sólida con el nodo. Una vez que se carga el módulo ''coffee-script'', ya sea por require(''coffee-script'')
, por she-bang I demostró arriba, o por ejecutar coffee demo.coffee
... una vez cargada, puede usar require(''./foo'')
para traer foo.coffee
Puede usar Jitter , una compilación continua simple para CoffeeScript.
npm install -g jitter
Supongamos que tiene un montón de archivos * .coffee en el directorio de café y desea compilarlos en el directorio js. Entonces corre:
jitter coffee js
Jitter se ejecuta en segundo plano hasta que lo finaliza (Ctrl + C), buscando nuevos cambios.
Sí, CoffeeScript simplemente compila en JS puro, lo que lo hace completamente compatible con node.js.
Para ejecutar CoffeeScripts en el nodo, puede:
- Escriba
coffee -c example.coffee
para compilar, seguido pornode example.js
para ejecutar el compilado JS. - Simplemente escriba
coffee example.coffee
Sí, aquí hay una respuesta diferente y más simple. Tienes que hacer 2 pasos.
npm install coffee-script --save # I assume you would have done this already
.Han
require(''coffee-script'')
como la primera línea que se ejecutará enserver.js
deserver.js
( ACTUALIZACIÓN: desde coffee script 1.7, deberásrequire(''coffee-script/register''))
Esto registra el compilador de coffeescript en su aplicación y puede comenzar a tratar los archivos de café y los archivos js igualmente ahora (¡lo que significa que también puede solicitar los archivos de café!).
Este método requerirá que escriba solo el archivo (app.js) en vainilla javascript. Pero la ventaja es que su entorno de implementación no necesita tener coffeescript como una dependencia inicial instalada a nivel mundial para ejecutar su aplicación. En este caso, solo tendría que copiar el código y la npm install
instalará todos los paquetes necesarios. Y el npm start
mantendría en funcionamiento
Si desea compilar automáticamente todos sus archivos coffeescript (en un directorio que incluye subdirectorio) cada vez que cambien a javascript, simplemente use este comando:
find . -name ''*.coffee'' -type f -print0 | xargs -0 coffee -wc
Tutoriales en vídeo
He visto una gran serie de tutoriales de Pedro Teixeira . Él ha estado construyendo una serie completa de tutoriales de nodos. Incluye una referencia a nodemon para detección automática y compilación y recarga de archivos .coffee editados.