我正在尝试将我的应用部署到 Heroku 。 Heroku没有加载我的 js 和 css 文件
我跑了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
config production.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
资产 application.css.scss
*= require_self
*= require bootstrap_and_overrides
*= require jquery.ui.datepicker
*= require bootstrap-timepicker
*= require jquery.fileupload-ui
*= require_tree .
*/
的application.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 .
知道怎么解决这个问题吗?提前感谢您的所有帮助。
答案 0 :(得分:20)
我认为这个问题与未预编译的资产有关。
在您的终端中,如果您运行:
$ >>> rake assets:precompile
然后进行添加和提交:
$ >>> git add .
$ >>> git commit -m 'Added precompiled assets for Heroku'
假设您的遥控器名为“heroku”:
$ >>> git push heroku master
它应该正确部署,而不必弄乱你的应用程序。
答案 1 :(得分:0)
路径显示为/app/app/assets/javascripts/application.js
与/app
两次混乱。这可能会导致问题。
答案 2 :(得分:0)
尝试此操作并按照源
中的步骤操作 在application.js
添加jquery-ui
中
//= require jquery
//= require jquery-ui
然后尝试
答案 3 :(得分:0)
如果rake预编译资产对任何人都不起作用,我正在与一位程序员一起工作并问他(他在我们的项目中修复它,而不是我,我很难过。)
他不是以英语为母语的人,但这里有:
“我已经分析过,当你找不到文件jquery-ui-datepicker的预编译时,由于链接调用js和css for jquery ui version 4.0的变化,导致你失败的原因是推送到Heroku错误.12使用最新的rails 5.0.0,我现在已经通过Gemfile中的固定版本修复并替换了js和css中的调用。“
瞧,它看起来有效。
答案 4 :(得分:0)
首先清理并预编译资产
$ rake assets:clean
$ rake assets:precompile
更新存储库
$ git add -A
$ git commit -m" message"
推送到heroku
$ git push heroku