导入具有依赖关系的NPM模块
Import NPM module having dependency
目前正在切换到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
,但在myFile.js
上找到了d3
和d3-tip
。
我应该在d3工具提示上手动注入d3吗?
我认为你实际上必须进行
import d3tip from 'd3-tip';
d3tip(d3);
使其连接到d3.tip()
出现此故障的问题:
import d3 from "d3";
这就是解决方案:
import * as d3 from "d3";
我希望它能帮助到别人。
相关文章:
- 尽管链接成功并已成功下载,但未找到NPM模块
- 在Meteor项目中安装并包含npm模块后出错
- 在Meteor Angular 1.3中使用npm模块
- 有没有人能够得到这个要求或调试NPM模块在浏览器中工作
- 如何访问npm模块抛出的自定义错误对象[error:[object object]]
- 利用异步 NPM 模块
- 异步加载 NPM 模块
- 将迁移的Silverlight到HTML应用程序划分为NPM模块
- 将MQTT NPM模块导入NativeScript
- 别名带有浏览器化填充码的 npm 模块
- 如何使用NPM模块
- 全局安装的NodeJS npm模块不执行节点的主/bin JavaScript文件
- 导入具有依赖关系的NPM模块
- 我可以修改和发布npm模块(node.js)吗
- 如何使用请求 npm 模块判断 http 请求是否完成
- NPM 模块中的 JSONP(节点/浏览器)跨域
- webpack 1:resolve.alias 不将一个 npm 模块别名到另一个 npm 模块
- 在前端使用 ES6 npm 模块(webpack)
- sanitize-html npm 模块在 Heroku 部署上不起作用
- 设置 npm 模块配置的最佳方法