【问题标题】:Javascript working locally but not on productionJavascript 在本地工作但不能在生产环境中工作
【发布时间】:2018-03-23 17:33:31
【问题描述】:

我已经尝试解决这个问题好几个星期了,但没有成功,所以我认为我应该自己写,而不是在其他人的问题中寻找答案。

问题如下。几周前,我完成了我的一个 Rails 项目,所以我将 repo 推送到了 heroku。一切似乎都运行良好,但后来我注意到我的导航栏工具不起作用,我的旋转木马也没有。本地工作完美。

目前它托管在 heroku 上。

这些都是我尝试过的。

  1. 预编译和清理的资产
  2. 已安装gem 'rails_12factor'
  3. 重新排序 app.js 如下
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require twitter/bootstrap
//= require lightbox
//= require_tree .
//= require owl.carousel
  1. 我什至将我的应用程序部署到数字海洋(我认为 Heroku 是问题所在)

  2. 我尝试使用不同的引导 gem。 gem 'bootstrap-sass'但仍然是同样的问题。 所以,基本上一些 js 并没有按应有的方式工作。我什至尝试使用另一种名为 flickity 的滑块,我下载了 flickity 的 js 和 css,预编译,然后 push 但是在 heroku 中似乎坏了。

  3. 关注下一个 stackoverflow 问题:

这是我的代码:

生产.rb

config.serve_static_files = true
config.assets.compile = true

宝石文件

gem "twitter-bootstrap-rails"
gem 'lightbox2-rails'
gem "font-awesome-rails"
gem 'activeadmin'
gem 'owlcarousel-rails'
gem 'rails_12factor', group: :production
gem "rmagick"
gem "carrierwave"
gem "mini_magick"
gem 'kaminari'
gem 'jquery-ui-rails'
gem 'sprockets_better_errors'
group :development do
  gem 'capistrano',         require: false
  gem 'capistrano-rvm',     require: false
  gem 'capistrano-rails',   require: false
  gem 'capistrano-bundler', require: false
  gem 'capistrano3-puma',   require: false
end
gem 'devise'
gem 'cancan'
gem 'draper'
gem 'pundit'
gem 'rails'
gem "puma"
gem 'pg', '~> 0.20.0'
gem 'jquery-rails'
gem 'jbuilder', '~> 2.0'

应用程序.css

 *= require lightbox
 *= require font-awesome
 *= require bootstrap
 *= require_tree .
 *= require owl.carousel
 *= require owl.theme

控制台错误

Uncaught TypeError: $(...).carousel is not a function(…)

这个错误可以解释为什么轮播不起作用。但是我尝试了其他的,它们也不起作用。那么导航栏工具呢?

这个也有

Uncaught TypeError: Cannot read property 'bridge' of undefined(…)

如果您需要更多信息,请告诉我。

【问题讨论】:

  • 您是否在控制台中遇到任何错误?
  • 你去@Preston
  • carousel 函数的文件是否正在加载?
  • 如何检查? @普雷斯顿
  • 在开发工具中查看资源,文件应该在 Scripts 文件夹中。

标签: javascript ruby-on-rails ruby twitter-bootstrap heroku


【解决方案1】:

尝试将config.assets.debug = true 放入您的production.rb 文件中,看看是否可以解决问题。我猜你的压缩 JS 文件中间有一个错误,导致其余函数无法执行。

【讨论】:

    猜你喜欢
    • 2016-07-16
    • 2019-08-17
    • 2019-04-18
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 2021-12-08
    • 2014-04-27
    相关资源
    最近更新 更多