类型错误:vis_network__WEBPACK_IMPORTED_MODULE_3__.DataSet 不是构造函数

fla*_*ash 4 reactjs vis.js

我正在尝试这个 reactjs。我收到以下“不是构造函数错误”

使用的版本:“vis-network”:“^7.4.2”,

import { Network, DataSet } from "vis-network";

const NODES = new DataSet({});
NODES.add([
  {
    id: "1",
    label: "start",
    final: true,
    x: -184,
    y: -41
  },
  {
    id: "2",
    label: "Node 1",
    final: false,
    x: 11,
    y: -40
  }]);
Run Code Online (Sandbox Code Playgroud)

fla*_*ash 10

这就是我解决问题的方法。我更改了导入语句

import { Network } from "vis-network/peer/esm/vis-network";
import { DataSet } from "vis-data/peer/esm/vis-data"
Run Code Online (Sandbox Code Playgroud)

我将发布从https://github.com/visjs/vis-network/issues/588找到的答案

vis-network捆绑了所有东西,很多东西多次。它会在许多情况下引发这些和其他错误。不要使用它。它最终将被弃用并删除。

vis-network/standalone捆绑了所有东西(polyfills + Vis Data)。如果使用它,则必须使用由此导出的 DataSet。这样做的缺点是它只能单独工作,与 Vis Timeline 等一起使用时会失败。

vis-network/peer仅捆绑 polyfill。您必须使用来自 vis-data/peer 的 DataSet。这里的一个优势是它可以与 Vis Timeline 等一起使用。

vis-network/esnext没有捆绑任何东西。您必须自己提供所有依赖项并使用来自 vis-data/esnext 的 DataSet。这样做的好处是您可以重用应用程序中的 polyfill 和其他依赖项,从而减少包大小。