require () 'ing un file CoffeeScript da un file JavaScript o REPL
-
16-10-2019 - |
Domanda
Sto usando Node.js e di voler integrare CoffeeScript nel mio flusso di lavoro. Ho due-casi d'uso:
- Voglio essere in grado di scrivere i file JavaScript che
require()
CoffeeScript moduli - 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?
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