需要使用browserify的d3插件

时间:2017-10-13 14:31:38

标签: d3.js npm browserify

我使用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)方式来实现这一目标(更好的意思是“更常见”或“更具普遍性”或“更符合人们如何做到这一点”谁以此为生,')?

1 个答案:

答案 0 :(得分:1)

如果您想使用ES6导入,那么对我有用的语法是

import * as d3 from 'd3';
import { lasso } from 'd3-lasso';
d3.lasso = lasso;