我可以在Heroku中运行coffeescript吗?

| 我有一个用CoffeeScript编写的node.js应用程序。 我想知道要在Heroku上托管该应用程序需要什么。 谢谢     
已邀请:
        由于Heroku的更新,现在允许an1ѭ源的
npm
安装。以下答案是在Heroku完全支持
node.js
之前的解决方法。要获得当前更好的解决方案,请参阅评分较高的答案,其中说明了如何在Heroku中简单地使用
npm
中的
coffee-script
。 老实说,最好的方法是像Peter所建议的那样先使用
coffee -c filename
进行编译,但是我不知道您是否可以使用\'preload \'
preload.js
来使用
coffeescript
作为
node_module
来调用脚本,然后进行compile()要使用的脚本。这样,您可以在heroku上的节点中本地使用它们,而无需处理存储库中的额外文件。
npm install coffee-script
然后在inital应用中,用javascript编写并使用coffee的compile函数调用
*.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 如果您要用红宝石做这件事,这里是这样的: 演练如何在Heroku的rails中使用coffeescript: 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-to-use 希望这会有所帮助。     
        Michael Blume是正确的,您不需要任何额外的代码即可在heroku上运行CoffeeScript节点应用程序。这是我的方法: 将当前版本中的ѭ1添加到
package.json
中的依赖项中。这可能看起来像这样:
{
  \"name\": \"My-CoffeeScript-App-on-Heroku\",
  \"version\": \"0.0.1\",
  \"dependencies\": {
    \"coffee-script\": \"1.1.2\"
  }
}
然后在ѭ21中修改您的节点应用程序的条目,以使用咖啡代替节点。对于只有一个Web条目的应用程序,可能看起来像这样
web: coffee app.coffee
要测试在Heroku上是否可以使用,您可以使用工头gem在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
不确定该过程是否存在问题,但是上述方法对我来说似乎是过大了,因为您正在为运行时环境工作弄乱代码。 希望这对某人有帮助:)     
        通过将咖啡脚本包含在我的依赖项中,然后将'coffee index.coffee \'放入我的Procfile中,我可以很好地相处 每次服务器启动时都要进行编译,这会增加启动成本,但除此之外,您还可以。     
        我通过在我的package.json中包含coffee-script并将我的Heroku PATH添加到node_modules / coffee-script / bin来使其工作     
        我在附近搜索,但似乎不清楚。这是heroku指南,其中没有提及coffeescript。 http://devcenter.heroku.com/articles/node-js 我认为您可以在提交并推送到heroku之前在应用程序的git repo中运行
coffee -c .
(将此脚本作为部署脚本的一部分),然后仅使用该过程编译的.js代码。     
         在您的ѭ19中加
coffee-script
将您的
Profile
更改为
web: coffee app.coffee
参见florian.k的答案     
        克里斯·冯(Chris Fung)主持了很长时间的自定义buildpack。我使用它已有几年了,直到最近它停止与Heroku上的新Cedar-14 Stack一起使用时为止。因此,我修改了Chris的buildpack,现在您可以使用此新的自定义buildpack在Heroku上运行coffeescript应用程序。     

要回复问题请先登录注册