12

我正在尝试将我的应用程序部署到Heroku。Heroku 没有加载我的jscss文件

我跑了RAILS_ENV=production bundle exec rake assets:precompile ,它仍然没有工作。

然后我跑了 heroku rake assets:precompile

我在 Heroku 日志中收到此错误:

Error compiling asset application.css:
 Sprockets::FileNotFound: couldn't find file 'jquery.ui.datepicker'
 (in /app/app/assets/stylesheets/application.css.scss:13)

Served asset /application-989f5e5266d9b066eb316183d7db5c77.css - 500 Internal Server Error


 Error compiling asset application.js:
 Sprockets::FileNotFound: couldn't find file 'jquery.ui.datepicker'
 (in /app/app/assets/javascripts/application.js:16)
Served asset /application-d81c946c6f47242e5e97de9bca4938be.js - 500 Internal Server Error

配置生产.rb:

config.cache_classes = true
  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true
  config.serve_static_assets = true
  config.assets.compress = true
  config.assets.compile = true
  config.assets.initialize_on_precompile = false

  config.assets.digest = true

在资产应用程序.css.scss

 *= require_self
 *= require bootstrap_and_overrides
 *= require jquery.ui.datepicker
 *= require bootstrap-timepicker
 *= require jquery.fileupload-ui
 *= require_tree .
*/

应用程序.js

//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap
//= require jquery.ui.datepicker
//= require bootstrap-timepicker
//= require jquery-fileupload/basic
//= require jquery-fileupload/vendor/tmpl
//= require_tree .

知道如何解决这个问题吗?提前感谢您的所有帮助。

4

5 回答 5

21

我认为这个问题与未预编译的资产有关。

在您的终端中,如果您运行:

   $ >>> rake assets:precompile

然后做你的添加和提交:

$ >>> git add .
$ >>> git commit -m 'Added precompiled assets for Heroku'

假设您的遥控器称为“heroku”:

$ >>> git push heroku master

它应该正确部署,而不必弄乱您的应用程序。

于 2012-11-27T03:42:21.347 回答
0

路径出现两次混乱/app/app/assets/javascripts/application.js/app这可能会导致问题。

于 2012-10-26T05:36:47.507 回答
0

试试这个并按照源代码的步骤

在你的application.js添加jquery-ui

//= require jquery
//= require jquery-ui

然后尝试

来源:https ://github.com/joliss/jquery-ui-rails

于 2012-10-26T05:44:58.453 回答
0

如果 rake 预编译资产对任何人都不起作用,我正在和一位程序员同事一起工作并问他(他在我们的项目上修复了它,而不是我,我被难住了。)

他不是以英语为母语的人,但这里有:

“我已经分析,导致您目前失败的原因是未找到文件 jquery-ui-datepicker 的预编译时推送到 Heroku 错误,这是由于 sprocket 调用 jquery ui 版本 4.0.12 的 js 和 css 的变化最新的 rails 5.0.0,我现在已经通过 Gemfile 中的固定版本进行了修复,并替换了 js 和 css 中的调用。”

瞧,它在之后起作用了。

于 2014-07-06T12:04:43.003 回答
0
  1. 首先清理和预编译资产

    $ rake assets:clean
    $ rake assets:precompile

  2. 更新存储库

    $ git add -A
    $ git commit -m "消息"

  3. 推送到heroku

    $ git push heroku

于 2016-10-11T15:48:43.203 回答