d3-tip npm 模块不适用于 browserify

d3-tip npm module not working with browserify

首先我安装了带有 npm install d3-tip v0.6.7 的 d3-tip 然后 browserify'd 我的项目没有任何问题。

我的js如下所示

var d3 = require("d3");
var d3tip = require("d3-tip");

    var tip = d3tip()
              .attr('class', 'd3-tip')
              .offset([-10, 0])
              .html(function(d) {
                return "<strong>Hello World:</strong>";
              });

我得到的错误是:

TypeError: d3 is undefined in my bundle.js yet

我在代码的其他地方使用 d3 没有问题,这让我相信错误出在 d3 提示的 npm 模块中,但我可能是错的。

有什么想法吗?

我发现了你的问题,这与我遇到的问题完全相同,在尝试了很多事情之后我发现你可以将参数传递给 require

我使用以下方法解决了我的问题:

var d3 = require("d3");
var d3tip = require('d3-tip')(d3);

然后你就可以调用 d3tip 了。