繁体   English   中英

如何获取coffeescript在Heroku上进行编译?

[英]How to get coffeescript to compile on Heroku?

我正在使用Rails 3.2,并将其作为Gemfile:

gem 'rails', '3.2.11'

group :development do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.11.0'
end

group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'
gem 'coffee-script'

group :test do
  gem 'capybara', '1.1.2'
end

group :production do
  gem 'pg', '0.12.2'
  gem 'therubyracer-heroku', '~> 0.8.1.pre3'
end

我的web应用程序可以在localhost上正常运行,但是由于有coffeescript文件,因此无法在Heroku上运行。 如果有任何帮助,我会使用Heroku Cedar。 我查看了Heroku Web应用程序中的源代码,但看起来好像我的cofeescript没有像Heroku那样被压缩到缩小的javascript中。 我如何在Coffeeoku上编译该Coffeescript? 我究竟做错了什么?

我们需要了解有关您的应用程序的更多信息,才能检查所有可能性。

一个不错的起点是rake assets:precompile并确保您可以在本地运行它。 这是Heroku将要运行的命令-如果一切设置正确,则应该运行。

为了进一步讲解,我建议您阅读Heroku上的资产管道,并确保您“跨过t并加倍i”

如果您仍然遇到问题,则可以使用更具体的信息来编辑此问题。

在Heroku的Cedar上,无需将therubyracer-heroku包含在Gemfile中。 在我的源代码中检查application.js时,我发现coffeescript确实被编译为javascript。 问题是我的coffeescript依赖于其他文件,这些文件存储在app / assets / libs中。 我认为Heroku不会那么深入,所以我相信javascript并没有全部加载。 我不需要运行rake assets:precompile 这是适用的Gemfile:

source 'https://rubygems.org'

gem 'rails', '3.2.11'

group :development do
  gem 'sqlite3', '1.3.5'
  gem 'rspec-rails', '2.11.0'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'

group :test do
    gem 'capybara', '1.1.2'
end

group :production do
  gem 'pg', '0.12.2'
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM