Risposte:
Sì, CoffeeScript si compila semplicemente in JS puro, rendendolo completamente compatibile con node.js.
Per eseguire CoffeeScripts sul nodo, è possibile:
coffee -c example.coffee
per compilare, seguito da node example.js
per eseguire il JS compilato.coffee example.coffee
require
compilare file di caffè compilati purché require('coffee-script')
prima.
coffee example.coffee
principalmente per lo sviluppo? O è abbastanza stabile da fare in produzione?
sudo npm install -g coffee-script
Non solo puoi eseguire i file CoffeeScript direttamente in Node con
coffee source.coffee
puoi anche richiederli come se fossero file JavaScript. Ad esempio, se si dispone lib.coffee
in una directory, è possibile scrivere
require './lib'
da un altro file CoffeeScript nella stessa directory. (Per fare questo da un file JavaScript, dovrai aggiungerlo require 'coffee-script'
in alto.) Quindi, non devi mai compilare esplicitamente sotto Nodo, a meno che tu non stia imballando il tuo progetto per la distribuzione con uno strumento come npm.
Un avvertimento: nelle tracce dello stack, i numeri di riga che vedrai si riferiscono al JavaScript compilato, anche quando esegui CoffeeScript direttamente (quindi non hai accesso a JavaScript). Molte persone stanno cercando di risolvere questo problema, ma è una grande sfida.
Sì, ecco una risposta diversa e più semplice. Devi fare 2 passaggi.
npm install coffee-script --save # I assume you would have done this already
.
Avere require('coffee-script')
come la prima linea che vengono eseguiti in server.js
su app.js
. ( AGGIORNAMENTO: da Coffee Script 1.7, dovrai farlorequire('coffee-script/register'))
Questo registra il compilatore di coffeescript nella tua app e puoi iniziare a trattare i file del caffè e i file js allo stesso modo ora (il che significa che puoi richiedere anche i file del caffè!).
Questo metodo richiederà di scrivere solo un file (app.js) in javascript alla vaniglia. Ma il vantaggio è che l'ambiente di distribuzione non deve necessariamente disporre di coffeescript come dipendenza iniziale installata a livello globale per eseguire l'app. In questo caso, dovresti solo copiare il tuo codice e npm install
installare tutti i pacchetti necessari. E ti npm start
farei funzionare
Tutorial video
Ho visto una fantastica serie di tutorial di Pedro Teixeira . Sta costruendo un'intera serie di tutorial sui nodi. Include riferimenti a nodemon per il rilevamento e la compilazione automatici e il ricaricamento di file .coffee modificati.
Puoi usare Jitter , una semplice compilazione continua per CoffeeScript.
npm install -g jitter
Supponiamo che tu abbia un sacco di file * .coffee nella directory coffee e che vuoi compilarli nella directory js. Quindi eseguire:
jitter coffee js
Il jitter viene eseguito in background fino a quando non lo si termina (Ctrl + C), in attesa di nuove modifiche.
Coffeescript + ExpressJS + Couchdb + Redis + Auth:
Prova questo
#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"
Quindi fa:
chmod +x demo.coffee
./demo.coffee
CoffeeScript ha un'integrazione piuttosto solida con il nodo. Una volta che il modulo "coffee-script" viene caricato, sia dal require('coffee-script')
she bang che ho demo sopra, o eseguendo coffee demo.coffee
... una volta caricato, puoi usare require('./foo')
per portarefoo.coffee
Se vuoi compilare automaticamente tutti i tuoi file coffeescript (in una directory incluso subdir) ogni volta che cambiano in javascript, usa questo comando:
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc
coffee -o lib/ -cw src/