D3.js 需要带有browserify的d3插件

D3.js 需要带有browserify的d3插件,d3.js,npm,browserify,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.las

我用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)方法来做到这一点(我所说的更好是指“更常见”或“更普遍”或“更符合以这种方式谋生的人的做法”)?

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

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

感谢分享您的临时解决方案;对我来说也是如此。