我可以在Heroku中运行coffeescript吗?

我有一个用CoffeeScript编写的node.js应用程序。

我想知道为了在Heroku上托pipe应用程序需要什么。

谢谢

由于Heroku的更新,它现在允许npm coffee-script源的安装。 下面的答案是Heroku完全支持node.js之前的一个解决方法。 为了更好地解决当前的问题,请参阅较高评分的答案,解释如何简单地使用Heroku上的npm coffee-script


说实话,最好的方法是先用coffeescript提供的coffee -c filename来编译它,但是我想知道是否可以使用coffeescript作为node_module的脚本,然后编译node_module ()要使用的脚本。 这样,你可以在Heroku中使用它们本地节点,而不需要处理你的仓库中的额外文件。

 npm install coffee-script 

然后在inital应用程序中,用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做的话,这里是:

有关如何在Heroku的rails中使用coffeescript的演练: http ://drnicwilliams.com/2010/03/15/using-coffeescript-in-rails-and-even-on-heroku/

它build议使用bistro_car( https://github.com/jnicklas/bistro_car

 gem install bistro_car mkdir -p app/scripts 

并将其添加到您的Rails conf/environment.rb

 config.gem 'bistro_car' 

如果我find别的方法或其他方法来本机运行*.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

希望这有助于一点点。

Michael Blume是正确的,您不需要任何额外的代码就可以在heroku上运行CoffeeScript节点应用程序。 这是我做到的:

将当前版本的coffee-script添加到package.json的依赖项中。 这可能看起来像这样:

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

然后修改Procfile节点应用程序的条目,以使用咖啡代替节点。 对于只有一个Web条目的应用程序,可能看起来像这样

 web: coffee app.coffee 

为了testing这个function是否可以在Heroku上运行,你可以使用foreman 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 

不知道该过程是否有问题,但上面描述的方法似乎对我来说太过分了,因为你搞乱了运行时环境的代码。

希望这有助于某人:)

通过在我的依赖中包含coffeescript,然后在我的Procfile中添加'coffee index.coffee',我可以相处得很好

每次启动服务器时都需要一个启动成本,但除此之外,你应该没问题。

通过在我的package.json中包含coffee-script并将node_modules / coffee-script / bin添加到我的Heroku PATH

我search了一下,但似乎不清楚。 这里的英雄指南,不提及咖啡的脚本。 http://devcenter.heroku.com/articles/node-js

我想你可以运行coffee -c . 在提交之前,在你的应用程序的git仓库中推送并推送到heroku(脚本这是你的部署脚本的一部分),然后使用该进程编译的.js代码。

  • 添加coffee-script到你的package.json
  • 更改您的Profileweb: coffee app.coffee

看florian.k的答案

Chris Fung现在已经有相当长的一段时间了。 我一直在使用它几年,直到最近当它停止与新的Cedar-14堆栈在Heroku上工作。 所以,我修改了Chris的buildpack,现在可以使用这个新的自定义buildpack在Heroku上运行coffeescript应用程序。

这里有一个在Heroku上部署node.js应用的很好的介绍:
http://blog.superpat.com/2011/06/14/node-js-chat-demo-on-heroku/