У меня есть приложение node.js, написанное на CoffeeScript.
Мне интересно, что нужно для размещения приложения на Heroku.
Спасибо
У меня есть приложение node.js, написанное на CoffeeScript.
Мне интересно, что нужно для размещения приложения на Heroku.
Спасибо
Из-за обновлений с Heroku теперь он позволяет установить npm
источник coffee-script
. Ответ ниже был обходным шагом, прежде чем Heroku полностью поддержал node.js
. Для лучшего решения в настоящее время см. Более высокий рейтинг ответа, объясняющий, как просто использовать coffee-script
от npm
на Heroku.
Честно говоря, лучшим способом было бы скомпилировать его перед использованием с помощью coffee -c filename
, как предложил Питер, но мне интересно, может ли быть какая-то "предварительная загрузка" preload.js
, которая вызовет скрипты с помощью coffeescript
как a node_module
затем скомпилируйте() script, который будет использоваться. Таким образом вы можете использовать их изначально в node на heroku, не имея дело с дополнительными файлами в своем репо.
npm install coffee-script
Затем в inital app напишите его в 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
Если вы спрашиваете о том, как это сделать в рубине, вот это:
Пошаговое руководство по использованию 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 vs 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
Надеюсь, это немного поможет.
Майкл Блюм прав, и вам не нужен дополнительный код для запуска приложений CoffeeScript node на геройку. Вот как я это сделал:
Добавьте coffee-script
в текущей версии к вашим зависимостям в package.json
. Это может выглядеть примерно так:
{
"name": "My-CoffeeScript-App-on-Heroku",
"version": "0.0.1",
"dependencies": {
"coffee-script": "1.1.2"
}
}
Затем измените запись для своего node приложения в Procfile
, чтобы использовать кофе вместо node. Для приложения с только одной веб-записью это может выглядеть так:
web: coffee app.coffee
Чтобы проверить, будет ли это работать на Heroku, вы можете попробовать его на локальном хосте с помощью бригадира мастера:
$ gem install foreman
$ foreman start
21:13:36 web.1 | started with pid 4711
Затем попробуйте нажать на герою, и вы увидите что-то подобное в установке зависимостей:
-----> Installing dependencies with npm 1.0.8
[email protected] ./node_modules/coffee-script
[email protected] ./node_modules/jade
├── [email protected]
└── [email protected]
Не уверен, что есть проблемы с этой процедурой, но описанный выше метод кажется мне излишним, так как вы испортили свой код для среды среды выполнения.
Надеюсь, это поможет кому-то:)
Мне удалось отлично справиться, просто включив coffeescript в мои зависимости, а затем набрав в моем Procfile "coffee index.coffee"
При загрузке сервера загружаются затраты на запуск, но кроме этого вы должны быть в порядке.
Я заработал, включив в свой пакет package.json кофе script и добавив node_modules/coffee- script/bin в мою папку Heroku PATH
Я googled вокруг, но кажется непонятным. Здесь геройку-гид, в котором не упоминается кофейник. http://devcenter.heroku.com/articles/node-js
Я думаю, вы можете просто запустить coffee -c .
в своем репозитории git вашего приложения, прежде чем совершать и нажимать на герою (script это как часть вашего развертывания script)), а затем просто используйте .js код, скомпилированный этим процессом.
coffee-script
к вашему package.json
Profile
на web: coffee app.coffee
Смотрите ответ florian.k
В течение довольно долгого времени Chris Fung был custom buildpack. Я использую его в течение нескольких лет, до недавнего времени, когда он прекратил работать с новым Cedar-14 Stack на Heroku. Итак, я модифицировал buildpack Криса, и теперь вы можете использовать этот новый пользовательский buildpack для запуска приложений coffeescript на Heroku.
Существует большое прохождение развертывания приложения node.js на Heroku здесь:
http://blog.superpat.com/2011/06/14/node-js-chat-demo-on-heroku/