我使用browserify为单页应用带来了理智。但是,我对引入d3插件感到困惑。我已经安装了d3和套索插件:
npm install d3
npm install d3-lasso
然后在我的应用程序中我
d3 = require('d3');
require('d3-lasso');
然后在我的后续模块中:
function myModule() {
var lasso = d3.lasso();
}
产生此错误:
Uncaught TypeError: d3.lasso is not a function
然后我尝试了:
d3 = require('d3');
d3.lasso = require('d3-lasso');
但结果相同。
这样做的正确方法是什么?
修改
以下成语有效:
d3 = require('d3');
d3.lasso=require('d3-lasso').lasso;
但似乎有点笨拙。是否有一种更好的(tm)方式来实现这一目标(更好的意思是“更常见”或“更具普遍性”或“更符合人们如何做到这一点”谁以此为生,')?
答案 0 :(得分:1)
如果您想使用ES6导入,那么对我有用的语法是
import * as d3 from 'd3';
import { lasso } from 'd3-lasso';
d3.lasso = lasso;