Ответы:
Да, CoffeeScript просто компилируется в чистый JS, что делает его полностью совместимым с node.js.
Чтобы запустить CoffeeScripts на узле, вы можете:
coffee -c example.coffeecompile, затем node example.jsзапустите скомпилированный JS.coffee example.coffeerequireоткомпилировать файлы coffeescript, если вы require('coffee-script')заранее.
coffee example.coffeeосновном для развития? Или это достаточно стабильно для производства?
sudo npm install -g coffee-script
Вы можете не только запускать файлы CoffeeScript напрямую в Node с помощью
coffee source.coffee
Вы также можете потребовать их, как если бы они были файлами JavaScript. Например, если у вас есть lib.coffeeв каталоге, вы можете написать
require './lib'
из другого файла CoffeeScript в том же каталоге. (Для того, чтобы сделать это из файла JavaScript, вам нужно будет добавить require 'coffee-script'вверху.) Таким образом, вам никогда не придется выполнять компиляцию явно в Node, если вы не упаковываете свой проект для развертывания с помощью такого инструмента, как npm.
Одно предостережение: при трассировке стека номера строк, которые вы увидите, относятся к скомпилированному JavaScript, даже когда вы запускаете CoffeeScript напрямую (поэтому у вас нет доступа к JavaScript). Многие пытаются это исправить, но это большая проблема.
Да, вот другой и более простой ответ. Вам нужно сделать 2 шага.
npm install coffee-script --save # I assume you would have done this already,
Иметь require('coffee-script')в качестве первой строки, которая будет выполнена в server.jsоф app.js. ( ОБНОВЛЕНИЕ: начиная с сценария кофе 1.7, вам придется сделатьrequire('coffee-script/register'))
Это регистрирует компилятор coffeescript в вашем приложении, и теперь вы можете начинать обрабатывать файлы кофе и файлы js одинаково (это означает, что вам также могут потребоваться файлы кофе!).
Этот метод потребует от вас написать только один файл (app.js) в vanilla javascript. Но преимущество заключается в том, что вашей среде развертывания не нужно иметь coffeescript в качестве начальной глобально установленной зависимости для запуска вашего приложения. В этом случае вам просто нужно скопировать код и npm installустановить все необходимые пакеты. И npm startвы бы работали
Видео уроки
Я видел замечательную серию уроков Педро Тейшейры . Он строит целую серию на уроках узлов. Он включает ссылку на nodemon для автоматического обнаружения, компиляции и перезагрузки отредактированных файлов .coffee.
Вы можете использовать Jitter , Простую непрерывную компиляцию для CoffeeScript.
npm install -g jitter
Допустим, у вас есть куча файлов * .coffee в каталоге coffee, и вы хотите скомпилировать их в каталог js. Затем запустите:
jitter coffee js
Джиттер работает в фоновом режиме, пока вы не прекратите его (Ctrl + C), следя за новыми изменениями.
Попробуй это
#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"
Затем сделайте:
chmod +x demo.coffee
./demo.coffee
CoffeeScript имеет довольно прочную интеграцию с узлом. После загрузки модуля «coffee-script», либоrequire('coffee-script') помощью she-bang, который я продемонстрировал выше, либо запустив coffee demo.coffee... после загрузки, вы можете использовать require('./foo')для вводаfoo.coffee
Если вы хотите автоматически компилировать все ваши файлы coffeescript (в одном каталоге, включая subdir) каждый раз, когда они переходят в javascript, просто используйте эту команду:
find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc
coffee -o lib/ -cw src/