Ответы:
Да, CoffeeScript просто компилируется в чистый JS, что делает его полностью совместимым с node.js.
Чтобы запустить CoffeeScripts на узле, вы можете:
coffee -c example.coffee
compile, затем node example.js
запустите скомпилированный JS.coffee example.coffee
require
откомпилировать файлы 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/