Каковы мои ограничения, если я хочу закодировать node.js и использовать CoffeeScript? Могу ли я сделать все, что мог бы сделать в JS?
Могу ли я использовать CoffeeScript вместо JS для node.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), наблюдая за новыми изменениями.
Ответ 6
Coffeescript + ExpressJS + Couchdb + Redis + Auth:
Ответ 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