2011-01-13 2 views

ответ

173

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

Для запуска CoffeeScripts на узле, вы можете:

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

@donald, я не знаю каких-либо комбинированных уроков CoffeeScript + Node. Изучение их по отдельности является идеальным. Ссылка, которую я дал выше для Node, является отличным введением, а для CoffeeScript это все, что вам нужно: http://jashkenas.github.com/coffee-script/ –

+0

@donald здесь, попробуйте этот: http: // nodetuts .com/tutorials/16-introduction-to-coffeescript-and-nodejs.html # video – jcollum

+2

Но как насчет использования других файлов CoffeeScript? Я не хочу помещать все в 1 CoffeeScript –

88

Не только вы можете запустить CoffeeScript файлы непосредственно в узле с

coffee source.coffee 

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

require './lib' 

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

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

+1

Что происходит с клиентским кофе/js? – fancy

+0

На стороне клиента нужен интерпретатор объявлений, который вы должны включить в HTML-страницу. –

+1

@fancy, coffescript> 1.6.1 [поддерживает исходные карты] (http://coffeescript.org/#source-maps) – MegaTux

15

Видео уроки

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

  1. Coffeescript and Node.js
  2. Nodemon
+0

Недопустимые ссылки http://nodetuts.com/.Однако учебные пособия на этом сайте выглядят великолепно. – ekillaby

+0

спасибо, оригинальные ссылки направления исчезли/переехали. Установите их для поиска google search, видео Vimeo @countfloortiles –

+3

См. Http://brunch.io для отличного решения конвейера NodeJS/ресурса. Обложки Coffee, CSS supersets и многое другое. –

0

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

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

Что случилось с встроенной функцией coffeescript? 'coffee -o lib/-cw src /' – aaaidan

6

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

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

Затем сделайте:

chmod +x demo.coffee 
./demo.coffee 

CoffeeScript имеет довольно прочную интеграцию с узлом. Когда загружается модуль «кофе-скрипт», либо на require('coffee-script'), так и на демо-версию I-Bang выше, или запустив coffee demo.coffee ...после загрузки вы можете использовать require('./foo') для ввода foo.coffee

+0

Спасибо, это очень полезно! –

11

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

npm install -g jitter 

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

jitter coffee js 

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

55

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

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

  2. У require('coffee-script') в качестве первой строки, которая будет выполнена в server.js от app.js. (UPDATE: поскольку кофе сценарий 1.7, вы должны будете сделать require('coffee-script/register'))

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

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

+2

Спасибо за примечание об обновлении версии 1.7, я тянул свои волосы, удивляясь, почему это перестало работать. – pix0r

+0

Спасибо, очень ясный ответ;) Имея немного удовольствия и кофе сейчас ... – 18augst

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