webpackとTypeScriptを使用していますが、d3-tipはwebpackで動作しないようです。マウスオーバーイベントでエラーが発生する "Uncaught TypeError: Cannot read property 'target' of null"
d3-tipはwebpackで動作しません
このエラーは、d3-tipモジュールのd3.eventがnullであるために発生します。
const d3: any = require("d3");
d3.tip = require("d3-tip");
をしかし、私はそれがそこにD3およびD3チップモジュールでd3が異なっており、これが問題の原因であるが、私は解決する方法がわからないと思い、次のように
私はモジュールを含みますそれ。
(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
var d3 = require('d3')
module.exports = factory(d3)
} else {
// Browser global.
root.d3.tip = factory(root.d3)
}
}(this, function (d3) {
...
をそして、それは
function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// d3.tip
// Copyright (c) 2013 Justin Palmer
//
// Tooltips for d3.js SVG visualizations
(function (root, factory) {
if (true) {
// AMD. Register as an anonymous module with d3 as a dependency.
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(465)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__))
} else if (typeof module === 'object' && module.exports) {
// CommonJS
var d3 = require('d3')
module.exports = factory(d3)
} else {
// Browser global.
root.d3.tip = factory(root.d3)
}
}(this, function (d3) {
...
へのWebPACKでコンパイルし、それはAMDが使用していることは明らかです:D3チップモジュールでは、私たちは持っています。私がd3-tipの工場を手に入れることができたら、私はその問題を解決するだろう。
あなたはD3バージョン3または4を使用していますか?私はwebpackとd3バージョン3を使用して同様の問題に遭遇しています。 – softweave