回答
由於Heroku的更新,現在允許npm
安裝coffee-script
源代碼。下面的答案是Heroku完全支持node.js
之前的解決辦法。爲了獲得更好的解決方案,請參閱更高評分的答案,解釋如何在Heroku上簡單使用npm
上的coffee-script
。
說實話最好的辦法是使用coffee -c filename
像彼得建議事先編譯它,但我不知道,如果你能有一個排序的「預加載」 preload.js
,將調用使用coffeescript
腳本爲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
如果你問在紅寶石做,這裏是這樣的:
演練如何在軌在Heroku上使用的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應用程序,我會更新此答案,但希望這會給你一些想法如何讓它工作。
這裏有一對夫婦更多的例子,但他們似乎都使用紅寶石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
希望這有助於一點點。
我認爲斯利克在正確的軌道上。你不需要任何二進制文件來運行'。咖啡文件;你只需要咖啡腳本庫,這是純JS。事實上,'coffee'二進制文件被實現爲純JS(它包裹了CoffeeScript的'command.js')。 – 2011-06-15 15:09:32
至於這篇文章的一些細節:你應該使用'coffee.run'; 'coffee.compile'只是給你一個字符串的JS輸出。 Nic博士在Heroku上使用CoffeeScript在Rails上的帖子已經過時;你應該使用Rails 3.1或[Barista](https://github.com/sutto/barista),而不是bistro_car(它在一年內還沒有更新,除此之外,不支持Rails 3 )。 – 2011-06-15 15:30:54
我剛剛做了一個樣本:https://github.com/lfreneda/how-to-coffeescript-on-heroku – 2015-12-01 17:56:17
我GOOGLE了一下,但它似乎不清楚。這裏是heroku指南,它不提及咖啡標記。 http://devcenter.heroku.com/articles/node-js
我認爲你可以在你的應用程序的git repo中運行coffee -c .
,然後提交併推送到heroku(腳本這是你的部署腳本的一部分),然後使用該進程編譯的.js代碼。
我能夠通過只包括我依賴CoffeeScript中,然後將「咖啡index.coffee」在我Procfile相處得很好得到
有一個啓動的成本,每次編譯你的服務器啓動,但除此之外,你應該沒問題。
我得到它通過在我的package.json咖啡腳本並添加node_modules /咖啡腳本/ bin添加到我的Heroku PATH
邁克爾·布魯姆是正確的,你不需要任何額外的代碼運行工作在heroku上的CoffeeScript節點應用程序。這是我如何做到的:
將當前版本中的coffee-script
添加到您的依賴package.json
中。這可能看起來有點像這樣:
{
"name": "My-CoffeeScript-App-on-Heroku",
"version": "0.0.1",
"dependencies": {
"coffee-script": "1.1.2"
}
}
然後修改在Procfile
您的節點的應用程序使用的咖啡,而不是節點的條目。
$ gem install foreman
$ foreman start
21:13:36 web.1 | started with pid 4711
然後嘗試:對於只有一個Web入口的應用程序,這可能看起來像這樣
web: coffee app.coffee
爲了檢驗這是否會在Heroku上工作,你可以使用工頭寶石嘗試在localhost一推Heroku的,你會看到這樣的事情在依賴安裝:
如果-----> Installing dependencies with npm 1.0.8
[email protected] ./node_modules/coffee-script
[email protected] ./node_modules/jade
├── [email protected]
└── [email protected]
不知道有與程序,但上述方法的問題似乎是大材小用我因爲你搞亂了運行時環境的代碼。
希望這有助於有人:)
這應該是被接受的答案。 – kynan 2012-05-21 00:25:14
CoffeeScript不是全局安裝的,所以你應該使用本地安裝的。更新您的'Procfile',如:'web:node_modules/coffee-script/bin/coffee app.coffee' – 2012-07-11 08:42:24
另外,請確保您的應用程序使用process.env.PORT進行設置... – 2012-09-29 17:34:39
- 您
package.json
- 更改添加
coffee-script
您Profile
到web: coffee app.coffee
還有的是一個custom buildpack相當一段時間現在由Chris Fung提供。我一直在使用它幾年,直到最近它停止與Heroku上的新Cedar-14堆棧一起工作。所以,我修改了Chris的buildpack,你現在可以用這個new custom buildpack在Heroku上運行coffeescript應用程序。
- 1. 可以在Heroku上運行xvfb嗎?
- 2. 可以從Heroku運行mongoimport嗎?
- 3. 我可以在Heroku上運行.exe文件嗎?
- 4. 我可以在Heroku帳戶上運行bash腳本嗎?
- 5. 我可以在JavaScript中運行JavaScript嗎?
- 6. 我可以在Java中運行PHP嗎?
- 7. 我可以在heroku中安裝cruisecontrol.rb嗎?
- 8. 我可以在render.js上執行的視圖中使用CoffeeScript嗎?
- 9. 我可以在單個heroku(python)dyno中運行多個線程嗎?
- 10. 我可以在heroku應用程序的environment.rb中運行`git describe`嗎?
- 11. 我可以在VPS上運行Matlab嗎?
- 12. 我可以在View上運行SqlQuery嗎?
- 13. 我可以在Windows上運行py2app嗎?
- 14. 是否可以在heroku上運行scrapy?
- 15. 這個Java應用程序可以在Heroku上運行嗎?
- 16. Neo4j企業版可以在Heroku上運行嗎?
- 17. 我可以在運行在Heroku的應用程序中發出「heroku restart」命令嗎?
- 18. 我可以在eco中使用Coffeescript`switch`塊嗎?
- 19. 我可以在項目中混合使用JS和CoffeeScript嗎?
- 20. 我可以在coffeescript中編寫npm包嗎?
- 21. 我可以使用CoffeeScript進行AngularJS的量角器測試嗎?
- 22. 我可以在Google App Engine PHP運行時上運行CakePHP嗎?
- 23. 我可以在iPhone上運行JavaScript運行時(如v8)嗎?
- 24. 我可以在我的DropBox文件夾中運行(XAMPP)MySQl嗎?
- 25. 我們可以在Ruby中並行運行多線程嗎?
- 26. 我可以在JQueryTemplate中運行一行JavaScript嗎?
- 27. 我可以在我的Heroku子域中使用子域名嗎?
- 28. 我可以運行多個javascript onload嗎?
- 29. Firebug可以運行我的網站嗎?
- 30. 我可以使用useLegacyV2RuntimeActivationPolicy運行scriptcs嗎?
據我所知,heroku只託管ruby應用程序。 – Ikke 2011-06-15 10:26:30
它也承載node.js。 – donald 2011-06-15 10:29:54
他們最近添加了它。請注意,如果您想在Heroku的Rails應用程序中運行CoffeeScript,只需將最新的'therubyracer'添加到您的Gemfile中,並且應該設置。 – 2011-06-15 15:06:47