【发布时间】:2019-10-28 13:54:08
【问题描述】:
我正在使用 Rails 6.0.0.rc1 并希望实现 lazy_high_charts gem。我通过Yarn 安装了Highcharts,但收到以下错误:
ReferenceError: Can't find variable: Highcharts
指的是下面这行代码:
window.chart = new Highcharts.Chart(options);
我通过 DOM 检查了 Highcharts 是否存在,确实如此。如果我在我的<head> 标签中添加<script src="https://code.highcharts.com/highcharts.js"></script> 脚本,它加载得很好,这很奇怪。任何帮助将不胜感激。
javascript/packs/application.js
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require('jquery')
require("trix")
require("@rails/actiontext")
import Highcharts from 'highcharts';
import 'bootstrap'
package.json
{
"name": "app_name",
"private": true,
"dependencies": {
"@rails/actioncable": "^6.0.0-alpha",
"@rails/actiontext": "^6.0.0-rc1",
"@rails/activestorage": "^6.0.0-alpha",
"@rails/ujs": "^6.0.0-alpha",
"@rails/webpacker": "^4.0.7",
"bootstrap": "^4.3.1",
"highcharts": "^7.1.2",
"jquery": "^3.4.1",
"popper.js": "^1.15.0",
"trix": "^1.0.0",
"turbolinks": "^5.2.0"
},
"version": "0.1.0",
"devDependencies": {
"webpack-dev-server": "^3.7.1"
}
}
宝石文件
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.6.3'
gem 'rails', '~> 6.0.0.rc1'
gem 'pg', '>= 0.18', '< 2.0'
gem 'puma', '~> 3.11'
gem 'sass-rails', '~> 5'
gem 'webpacker', '~> 4.0'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'image_processing', '~> 1.2'
gem 'bootsnap', '>= 1.4.2', require: false
gem 'lazy_high_charts'
group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
group :test do
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
gem 'webdrivers'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
【问题讨论】:
-
你能展示你的 Gemfile 吗?
-
Gemfile 已添加@Glyoko
-
我找到了解决方案。添加 window.Highcharts = Highcharts;我的 application.js 工作了。
标签: ruby-on-rails ruby-on-rails-6