2011-09-07 4 views
26

Я делаю несколько уроков, и я пишу все в CoffeeScript. Затем я должен скомпилировать JS, а затем выполнить в node.js. Есть ли способ сделать это напрямую?Могу ли я запустить файл .coffee прямо из node.js?

+0

См. Ответ Тревора Бернемма [на этот вопрос] (http://stackoverflow.com/questions/4679782/can-i-use-coffeescript-instead-of-js-for-node-js) –

ответ

33

Если у вас есть НПЕ, использовать его для установки CoffeeScript из командной строки узла: http://jashkenas.github.com/coffeescript/#installation

Затем из командной строки узла, вы можете просто использовать команду кофе для выполнения:

coffee <yourcoffeescriptfile>.coffee 

И, просто скомпилировать, передать -c флаг:

coffee -c <yourcoffeescriptfile>.coffee 
+8

Также обратите внимание, что вы может 'требовать ('./ foo')' от модуля узла, чтобы ввести 'foo.coffee', при условии, что вы уже выполнили' require ('coffee-script') '(который вы получаете бесплатно при запуске Узел из команды «кофе»); он добавляет привязку к функции 'require'. Поэтому смешивание и сопоставление файлов '. Coffee' и' .js' в приложении Node очень просто. –

+0

Дополнительная информация об использовании '-c': результаты компиляции сохраняются в файле' .js' с тем же корнем имени файла в той же папке, что и входной файл, если только '-o' не используется для указания другого папка. Используйте '-p', чтобы напечатать полученный JavaScript на' stdout'; запустите 'coffee -h', чтобы просмотреть все параметры. – mklement0

+0

Репо было переименовано в 'coffeescript', поэтому ссылка должна быть https://github.com/jashkenas/coffeescript/#installation –

56

Да вы можете.

coffee source.coffee -n 

Он будет запускать узел непосредственно без генерации каких-либо файлов .js.

Reference

Update: Кофе теперь также поддерживает --nodejs. Выше делает то же самое, как

coffee source.coffee --nodejs 

Но да, -n это путь короче.

+0

Это ответ, который я хочу, спасибо – mko

+0

Упс! Я изменил его обратно на голосование – mko

+0

Lol, мой плохой. Надеюсь, что это поможет. Я верну этот комментарий. – yujingz

 Смежные вопросы

  • Нет связанных вопросов^_^