Question

J'utilise Node.js et de vouloir intégrer dans mon flux de travail CoffeeScript. J'ai deux cas d'utilisation:

  1. Je veux être en mesure d'écrire des fichiers JavaScript qui require() CoffeeScript modules
  2. 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?

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top