我正在做一个React项目,但是库有问题。我想导入D3和一个名为d3-3d的插件,但是每当这样做时,d3-3d的向D3对象添加功能的本机功能都无法正常工作。
在较简单的项目中,只需插入脚本标签即可起作用:
<script src="https://d3js.org/d3.v4.min.js"></script>
<script src="https://unpkg.com/d3-3d/build/d3-3d.min.js"></script>
,然后调用放置在d3
上的名为_3d
的新函数。例如:
d3
._3d()
.scale(4)
.origin(origin)
.rotateX(startAngle)
.rotateY(startAngle)
.primitiveType("POINTS");
但是对于React,没有附加这样的方法。我不完全了解导入和导出的工作原理,但这是d3-3d源代码的片段,如果有帮助,它可以处理自己的导出。
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(factory((global.d3 = global.d3 || {})));
}(this, (function (exports) { 'use strict';
...
exports._3d = _3d;
Object.defineProperty(exports, '__esModule', { value: true });
})));
我只想知道如何在我使用导入语法的React环境中获得与普通脚本标签相同的功能。
我已经尝试过这样的事情
import "d3-3d";
我听说的只是针对库的副作用,但这没有用。都没有将其导入为d3_3d
并将_3d
方法作为属性放置在d3对象上。
谢谢!
答案 0 :(得分:0)
import * as d3 from 'd3';
import { _3d } from 'd3-3d';
d3._3d = _3d;