Domanda

Sto usando Node.js e di voler integrare CoffeeScript nel mio flusso di lavoro. Ho due-casi d'uso:

  1. Voglio essere in grado di scrivere i file JavaScript che require() CoffeeScript moduli
  2. voglio essere in grado di caricare moduli CoffeeScript partire dal nodo REPL

Per il caso # 1: Posso solo compilare dai .coffee a .js e require() il modulo .js, come una soluzione.

Per il caso # 2:. In questo momento sto eval()ing l'output di coffee-script.compile()

C'è un modo migliore, più uniti per fare questo?

È stato utile?

Soluzione

caffè-script modulo registra la sua estensione, una volta richiesto.

$ echo 'console.log "works"' > module.coffee

$ echo '
> require("coffee-script")
> require("./module")
> ' > test.js

$ node test.js
works

$ node
> require('coffee-script'); require('./module')
works
{}

Modifica : questo comportamento è cambiato con la relase di CoffeeScript 1.7.0. Ora è necessario fare:

require('coffee-script/register');

Altri suggerimenti

A più versatile soluzione sarebbe quella di utilizzare meglio richiedere .

npm install better-require

Ti permette di require() file CoffeeScript, senza pre-compilazione necessaria. (Inoltre, consente di require() un mucchio di altri formati di file: CoffeeScript, ClojureScript, YAML, XML, ecc)

Nel caso di CoffeeScript, richiede semplicemente il modulo coffee-script.

require('better-require')();
var myModule = require('./mymodule.coffee');
var clojurescriptModule = require('./mymodule.cljs');
// etc.

Disclosure:. Ho scritto better-require

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top