javascript - 为什么我的 React 应用程序的 Chrome 控制台中 d3 未定义?

标签 javascript reactjs google-chrome d3.js

我正在我的 React 应用程序中导入 d3.js 库,如下所示:

import * as d3 from "d3";

我正在创建一个基本的世界地图,它也可以在浏览器中正确显示。但是,当我尝试在 Chrome 控制台中执行类似操作时:

d3.select("path")

我收到错误:

Uncaught ReferenceError: d3 is not defined

我想这与 React 的工作原理有关,作为 React 的新手,我不知道我现在在这里缺少什么。有人可以帮忙吗?

最佳答案

因为 webpack(或任何其他绑定(bind)器)将其保留在模块范围内。为了防止模块之间的冲突, bundler 用函数包装模块。您可以将所有导入视为局部函数变量:

function yourModule(require) {
  const d3 = require('d3');

  // you can use d3 here within your module
}

you're not able to use it here, somewhere outside

关于javascript - 为什么我的 React 应用程序的 Chrome 控制台中 d3 未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59097627/

相关文章:

javascript - XMLHttpRequest 无法加载 http ://localhost:8089/jquery. Access-Control-Allow-Origin 不允许 Origin null

javascript - 从 dom 中隐藏输入值属性

javascript - 在 for 循环 VueJS 中同步 API 调用

javascript - 为什么 material-ui 两次调用他们的对话框?

reactjs - 如何仅在用户身份验证后设置 Apollo 客户端?

javascript - 当我尝试部署 React heroku 应用程序时出现无效的主机 header 错误

css - @keyframes 在 chrome 桌面上不工作(IE/Chrome 移动版都可以)

CSS 过滤器在 Chrome 和 Firefox 中有效,但在 IE 中无效

javascript - 从客户端传递referer并在node.js中获取headers.referer

javascript - 清除数组中的空元素