首页 > 解决方案 > ReferenceError:找不到变量:在带有 webpacker 的新 rails6 应用程序中的 d3

问题描述

我正在使用 rails 6 和 d3js 进行个人项目。事实上试图准备配置开始:-)

我曾经yarn add d3js@4.13.0 -T安装 d3js 和附加行

import * as d3 from "d3";

对我javascript/packs/application.js

我的问题是我无法在控制台中访问 d3。Webpacker 还没有进入我的舒适区!

标签: ruby-on-railsd3.jswebpacker

解决方案


默认情况下,Webpack 不会将任何内容导出到全局范围。您在 Webpack 包中导入的任何内容都在您正在使用的文件所代表的模块的本地范围内。

要使变量可用于全局范围,您必须以某种方式公开它。你可以配置类似的东西expose-loader来做到这一点。您可以在导入后将变量分配给全局范围,即窗口:

// app/javascript/packs/application.js
import * as d3 from "d3"
window.d3 = d3

推荐阅读