require () ' ing файл CoffeeScript из файла JavaScript или REPL
Я использую узел.js и желание включить CoffeeScript в мой рабочий процесс. У меня есть два варианта использования:
- Я хочу иметь возможность писать файлы JavaScript, которые
require()
модули CoffeeScript - Я хочу иметь возможность загружать модули CoffeeScript из узла REPL
для случая #1: я могу просто скомпилировать из .coffee
to .js
и require()
the .js
модуль, как временное решение.
по делу #2: прямо сейчас я eval()
ing выход coffee-script.compile()
.
есть ли лучший, более унифицированный способ сделать это?
2 ответа:
The кофе-скрипт модуль регистрирует свое расширение, если требуется.
$ 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: это поведение изменилось с relase CoffeeScript 1.7.0. Теперь вам нужно сделать:
require('coffee-script/register');
более универсальным решением было бы использовать лучше-требовать.
npm install better-require
позволяет
require()
файлы CoffeeScript, предварительная компиляция не требуется. (Это также позволяет вамrequire()
куча других форматов файлов: CoffeeScript, clojurescript, yaml, xml и др.)в случае CoffeeScript, он просто требует
coffee-script
модуль.require('better-require')(); var myModule = require('./mymodule.coffee'); var clojurescriptModule = require('./mymodule.cljs'); // etc.
раскрытие: я писал
better-require
.