javascript - jQuery 浮点图表使用 webpack 生成“Uncaught TypeError: e.setTimeout is not a function”
问题描述
当我通过 webpack 包含 jquery.flot.resize.js 时,会生成“Uncaught TypeError: e.setTimeout is not a function”。
这是我的代码。
import "jquery.flot/jquery.flot.js";
import "jquery.flot/jquery.flot.resize.js";
这会使浏览器控制台中的类型错误像这样。
Uncaught TypeError: e.setTimeout is not a function
如果它使用标签加载相同的 javascript,则效果很好。该错误仅发生在 webpack 上。
解决方案
this
该错误是由包含的“jquery.flot.resize.js”中的假设引起的,该假设在使用 webpackwindow
编译时不成立。有问题的代码不是源代码本身,而是复制粘贴的依赖项(jQuery resize 事件)。
当他们粘贴不同版本的依赖项时,问题似乎已经在 2019 年 10 月得到解决。此更改已在flot 4.2.0中发布。
如果您需要使用早期版本的 flot,可以使用 webpack imports-loader解决问题,例如(将 imports-loader 添加到应用程序(开发)依赖项中):
// ./webpack.config.js
module.exports = {
...
module: {
rules: [
{
test: require.resolve("jquery.flot/jquery.flot.resize.js"),
use: "imports-loader?this=>window"
}
]
}
};
推荐阅读
- ruby-on-rails - HTTP 500 - 在 sharetribe opensoure 上找不到文件“vendor-bundle”
- php - if elseif 语句具有三个条件,其中第二个条件在两个数字之间 Laravel
- exchangewebservices - 安装 EWS API 2.2 后的问题
- oracle - 在window 7 32bit 上安装Oracle 12c
- java - 为什么在列表上的流操作期间生成的地图不按顺序
- hibernate - Spring Boot休眠自动扫描实体
- oracle - 虽然 INSERT 出现错误 PLS-00904: stud.col3 is invalid identifier
- c# - 如何使用 httplistener 启用 https?
- c - Bison语义谓词语法错误,杂散'#'
- python - 使用特定格式的python在CSV文件中抓取HTML表