【发布时间】:2016-07-21 08:06:02
【问题描述】:
目前正在切换到 Meteor 1.3 和他的 npm 模块支持,我遇到了这个问题:
TypeError: Cannot set property 'tip' of undefined
这里是相关代码myFile.js:
import d3 from 'd3';
import d3tip from 'd3-tip';
//...
chart.tip = d3tip()
.attr('class', 'd3-tip')
.offset([-10, 0])
.html(function(d) {
//...
});
错误来自包d3-tip:
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module with d3 as a dependency.
define(['d3'], factory)
} else if (typeof module === 'object' && module.exports) {
// CommonJS
module.exports = function(d3) {
d3.tip = factory(d3) // HERE THE ERROR (d3 probably not defined)
return d3.tip
}
} else {
// Browser global.
root.d3.tip = factory(root.d3)
}
}(this, function (d3) { //...}
我猜包d3-tip 找不到d3,但d3 因为d3-tip 在myFile.js 上找到。
我应该做些什么来在 d3-tooltip 上手动注入 d3 吗?
【问题讨论】:
-
你的 package.json 文件怎么样? d3-tip 应该在那里声明为依赖项,您还必须运行
npm install -
@VitorRigoni d3-tip 是一个依赖项并已安装,因为错误来自代码到 d3-tip 中,因此我的应用可以访问 d3-tip 代码
标签: javascript meteor npm