Могу ли я запустить coffeescript в Heroku? - PullRequest
50 голосов
/ 15 июня 2011

У меня есть приложение node.js, написанное на CoffeeScript.

Мне интересно, что нужно для размещения приложения на Heroku.

Спасибо

Ответы [ 7 ]

117 голосов
/ 13 сентября 2011

Майкл Блюм прав, и вам не нужен дополнительный код для запуска приложений-узлов CoffeeScript на heroku. Вот как я это сделал:

Добавьте coffee-script в текущей версии к вашим зависимостям в package.json. Это может выглядеть примерно так:

{
  "name": "My-CoffeeScript-App-on-Heroku",
  "version": "0.0.1",
  "dependencies": {
    "coffee-script": "1.1.2"
  }
}

Затем измените запись для вашего приложения узла в Procfile, чтобы использовать кофе вместо узла. Для приложения с единственной веб-записью это может выглядеть следующим образом

web: coffee app.coffee

Чтобы проверить, будет ли это работать на Heroku, вы можете попробовать его на localhost, используя драгоценный камень мастера:

$ gem install foreman
$ foreman start
21:13:36 web.1     | started with pid 4711

Затем попробуйте нажать на heroku, и вы увидите что-то подобное в установке зависимостей:

-----> Installing dependencies with npm 1.0.8
       coffee-script@1.1.2 ./node_modules/coffee-script 
       jade@0.15.3 ./node_modules/jade 
       ├── mkdirp@0.0.6
       └── commander@0.1.0

Не уверен, что есть проблемы с этой процедурой, но метод, описанный выше, кажется мне излишним, так как вы испортили свой код для среды выполнения.

Надеюсь, это кому-нибудь поможет:)

9 голосов
/ 10 августа 2011

Я смог отлично поладить, просто включив coffeescript в мои зависимости, а затем поместив «coffee index.coffee» в мой Procfile

При каждой загрузке вашего сервера стоит компиляция, но кромечто с тобой все будет в порядке.

2 голосов
/ 09 сентября 2011

Я заработал, включив coffee-script в мой package.json и добавив node_modules / coffee-script / bin в свой Heroku PATH

1 голос
/ 15 июня 2011

Из-за обновлений с Heroku теперь допускается установка npm источника coffee-script. Ответ ниже был обходным путем, прежде чем Heroku полностью поддержал node.js. Для лучшего решения в настоящее время, пожалуйста, смотрите ответ с более высоким рейтингом, объясняющий, как просто использовать coffee-script из npm на Heroku.


Если честно, лучшим способом было бы скомпилировать его заранее, используя coffee -c filename, как предложил Питер, но мне интересно, если бы у вас была какая-то "предварительная загрузка" preload.js, которая будет вызывать сценарии, используя coffeescript как node_module затем скомпилируйте () сценарий, который будет использоваться. Таким образом, вы можете использовать их непосредственно в узле на heroku, не имея дело с дополнительными файлами в вашем репо.

npm install coffee-script

Затем в первоначальном приложении запишите его в javascript и вызовите файлы *.coffee, используя функцию компиляции кофе:

var coffee = require('coffee-script');
coffee.compile('./server.coffee');
// could be coffee.run(file) instead, not sure

и yourapp.coffee попробуйте

console.log 'It worked!'

Я не уверен, будет ли это работать, или это правильный синтаксис для этой функции. https://github.com/jashkenas/coffee-script/blob/master/lib/coffee-script.js#L24

Если вы спрашиваете об этом в ruby, вот что:

Пошаговое руководство по использованию coffeescript в рельсах на Heroku: http://drnicwilliams.com/2010/03/15/using-coffeescript-in-rails-and-even-on-heroku/

Он предлагает использовать bistro_car (https://github.com/jnicklas/bistro_car)

gem install bistro_car
mkdir -p app/scripts

и добавление его в ваш Rails conf/environment.rb

config.gem 'bistro_car'

Если я найду что-то еще или другой способ для собственного запуска *.coffee приложений javascript, я обновлю этот ответ, но, надеюсь, это даст вам некоторое представление о том, как заставить его работать.

Вот еще пара примеров, но все они, похоже, также используют ruby ​​против node.js:

http://forrst.com/posts/Doing_CoffeeScript_on_Heroku_a_Ruby_gem-OBk http://www.tangiblecolors.com/first-steps-with-coffeescript-and-how-to-use

Надеюсь, это немного поможет.

0 голосов
/ 30 сентября 2015

Крис Фунг уже довольно давно выпускает пользовательский сборочный пакет . Я использовал его пару лет, до недавнего времени, когда он перестал работать с новым стеком Cedar-14 на Heroku. Итак, я изменил сборку Криса, и теперь вы можете использовать этот новый специальный сборочный пакет для запуска приложений coffeescript на Heroku.

0 голосов
/ 08 апреля 2014
  • Добавьте coffee-script к вашему package.json
  • Измените Profile на web: coffee app.coffee

См. ответ florian.k

0 голосов
/ 15 июня 2011

Я погуглил, но, похоже, неясно.Вот руководство по герою, в котором не упоминается кофе.http://devcenter.heroku.com/articles/node-js

Я думаю, что вы можете просто запустить coffee -c . в git-репозитории вашего приложения, прежде чем совершить коммит и нажать на heroku (сценарий как часть сценария развертывания), а затем просто использовать .jsкод, скомпилированный этим процессом.

...