Могу ли я использовать CoffeeScript вместо JS для node.js?

Каковы мои ограничения, если я хочу закодировать node.js и использовать CoffeeScript? Могу ли я сделать все, что мог бы сделать в JS?

Ответ 1

Да, CoffeeScript просто компилируется в чистый JS, делая его полностью совместимым с node.js.

Чтобы запустить CoffeeScripts на node, вы можете:

  • Введите coffee -c example.coffee для компиляции, а затем node example.js для запуска скомпилированного JS.
  • Просто введите coffee example.coffee

Ответ 2

Вы можете не только запускать файлы CoffeeScript непосредственно в Node с помощью

coffee source.coffee

вы также можете потребовать их, как если бы они были файлами JavaScript. Например, если у вас есть lib.coffee в каталоге, вы можете написать

require './lib'

из другого файла CoffeeScript в том же каталоге. (Чтобы сделать это из файла JavaScript, вам нужно добавить require 'coffee-script' вверху.) Таким образом, вам никогда не придется делать компиляцию явно под Node, если вы не собираетесь упаковывать свой проект для развертывания с помощью инструмент, например, npm.

Одно предостережение. В трассировке стека номера строк, которые вы увидите, ссылаются на скомпилированный JavaScript, даже если вы используете CoffeeScript напрямую (так что у вас нет доступа к JavaScript). Многие люди пытаются это исправить, но это большая проблема.

Ответ 3

Да, здесь другой и более простой ответ. Вам нужно сделать 2 шага.

  • npm install coffee-script --save # I assume you would have done this already.

  • В качестве первой строки, которая будет выполняться в server.js app.js, будет require('coffee-script'). ( ОБНОВЛЕНИЕ:, так как кофе script 1.7, вам нужно будет сделать require('coffee-script/register'))

Это регистрирует компилятор coffeescript для вашего приложения, и вы можете начать обрабатывать файлы кофе и js файлы одинаково в настоящее время (это значит, что вы также можете использовать файлы кофе!).

Этот метод потребует от вас написать только один файл (app.js) в javascript vanilla. Но преимущество заключается в том, что в вашей среде развертывания не должно быть coffeescript в качестве начальной глобально установленной зависимости для запуска вашего приложения. В этом случае вам просто нужно скопировать код, а npm install будет устанавливать все необходимые пакеты. И npm start заставит вас работать и запускать

Ответ 4

Видеоуроки

Я видел замечательную серию учебников Педро Тейшейры. Он строил целую серию в учебниках node. Он включает ссылку на nodemon для автоматического обнаружения и компиляции и перезагрузки отредактированных файлов .coffee.

Ответ 5

Вы можете использовать Jitter, Простую непрерывную компиляцию для CoffeeScript.

npm install -g jitter

Скажем, у вас есть куча файлов *. coffee в каталоге кофе, и вы хотите скомпилировать их в каталог js. Затем запустите:

jitter coffee js

Jitter работает в фоновом режиме, пока вы не прекратите его (Ctrl + C), наблюдая за новыми изменениями.

Ответ 7

Попробуйте это

#!/usr/bin/env coffee
v = 78
console.log "The value of v is '#{v}'"

Тогда do:

chmod +x demo.coffee
./demo.coffee

CoffeeScript имеет довольно прочную интеграцию с node. Когда загружается модуль "coffee- script", либо с помощью require('coffee-script'), либо с помощью демонстрационной программы she-bang I, либо запуская coffee demo.coffee... после загрузки, вы можете использовать require('./foo') для вызова в foo.coffee

Ответ 8

Если вы хотите автоматически скомпилировать все ваши файлы coffeescript (в одном каталоге, включая subdir) каждый раз, когда они меняются в javascript, просто используйте эту команду:

find . -name '*.coffee' -type f -print0 | xargs -0 coffee -wc