Подтвердить что ты не робот

Могу ли я запустить coffeescript в Heroku?

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

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

Спасибо

4b9b3361

Ответ 1

Из-за обновлений с 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

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

Ответ 2

Майкл Блюм прав, и вам не нужен дополнительный код для запуска приложений 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]

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

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

Ответ 3

Мне удалось отлично справиться, просто включив coffeescript в мои зависимости, а затем набрав в моем Procfile "coffee index.coffee"

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

Ответ 4

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

Ответ 5

Я googled вокруг, но кажется непонятным. Здесь геройку-гид, в котором не упоминается кофейник. http://devcenter.heroku.com/articles/node-js

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

Ответ 6

  • Добавьте coffee-script к вашему package.json
  • Измените Profile на web: coffee app.coffee

Смотрите ответ florian.k

Ответ 7

В течение довольно долгого времени Chris Fung был custom buildpack. Я использую его в течение нескольких лет, до недавнего времени, когда он прекратил работать с новым Cedar-14 Stack на Heroku. Итак, я модифицировал buildpack Криса, и теперь вы можете использовать этот новый пользовательский buildpack для запуска приложений coffeescript на Heroku.