require () 'ing un fichier CoffeeScript d'un fichier JavaScript ou REPL
-
16-10-2019 - |
Question
J'utilise Node.js et de vouloir intégrer dans mon flux de travail CoffeeScript. J'ai deux cas d'utilisation:
- Je veux être en mesure d'écrire des fichiers JavaScript qui
require()
CoffeeScript modules - Je veux être en mesure de charger des modules CoffeeScript à partir du noeud REPL
Pour le cas n ° 1: Je peux compiler à partir .coffee
à .js
et require()
le module .js
, comme une solution de contournement.
Pour le cas n ° 2:. En ce moment je suis eval()
ing la sortie de coffee-script.compile()
Y at-il une meilleure manière, plus unifiée de le faire?
La solution
coffeescript le module enregistre son extension une fois nécessaire.
$ 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
{}
Modifier : Ce comportement a changé avec le relase de CoffeeScript 1.7.0. Maintenant, vous devez faire:
require('coffee-script/register');
Autres conseils
Une plus polyvalente solution serait d'utiliser mieux besoin .
npm install better-require
Il vous permet de require()
fichiers CoffeeScript, pas de pré-compilation nécessaire. (Il vous permet également require()
un tas d'autres formats de fichiers: CoffeeScript, clojurescript, YAML, XML, etc.)
Dans le cas de CoffeeScript, il faut 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