J'utilise Node.js et je souhaite incorporer CoffeeScript dans mon flux de travail. J'ai deux cas d'utilisation:
require()
modules CoffeeScriptPour le cas # 1: je peux simplement compiler de .coffee
À .js
Et require()
le module .js
, Comme solution de contournement .
Pour le cas n ° 2: En ce moment, je suis eval()
la sortie de coffee-script.compile()
.
Existe-t-il un moyen meilleur et plus unifié de procéder?
Le module coffee-script enregistre son extension une fois requis.
$ 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
{}
Edit: Ce comportement a changé avec la relâche de CoffeeScript 1.7.0. Vous devez maintenant faire:
require('coffee-script/register');
Une solution plus polyvalente consisterait à utiliser mieux exigé .
npm install better-require
Il vous permet de require()
fichiers CoffeeScript, aucune pré-compilation nécessaire. (Il vous permet également de require()
un tas d'autres formats de fichiers: CoffeeScript, clojurescript, yaml, xml, etc.)
Dans le cas de CoffeeScript, il nécessite simplement le module coffee-script
.
require('better-require')();
var myModule = require('./mymodule.coffee');
var clojurescriptModule = require('./mymodule.cljs');
// etc.
Divulgation: J'ai écrit better-require
.