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.