javascript - ReferenceError:未定义导出
问题描述
我正在使用 karma 运行测试,并且我的项目的一个依赖项依赖于 es-cookie,并且在运行测试时似乎给我带来了问题。
我尝试添加一个 commonjs 预处理器,但它给出了一个语法错误,可能是因为 commonjs 不适用于其他文件。我尝试将它与另一个预处理器链接,但它仍然不起作用。
preprocessors: {
'packages/**/test/**/*.test.js': ['globals'],
'node_modules/**/*.js': ['commonjs'],
},
测试应该可以顺利运行,但是当没有 commonjs 预处理器时会弹出此错误
未捕获的 ReferenceError:未在 node_modules/es-cookie/src/es-cookie.js:17:1 中定义导出
ReferenceError:未定义导出
更新:
这是有问题的行:
exports.__esModule = true;
我尝试将其更改为
export const __esModule = true;
我所有的测试都成功运行。但是,是否允许更改节点模块依赖项的代码,有没有办法在 Karma 中对其进行预处理?
解决方案
推荐阅读
- kubernetes - 将 alertmanager 添加到 istio prometheus
- python - 我创建了一个猜谜游戏,但我不明白为什么我的 -= 命令功能不起作用
- docker - Docker COPY 没有复制脚本
- c# - 如何在控制器外部使用 Startup.cs 上声明的服务
- mysql - MYSQL - 获取组中未通过条件测试的项目列表
- kubernetes - `operator-courier verify` 希望我更新的 CRD 的根列表在哪里?
- eclipse - Floodlight 安装错误:权限被拒绝
- arrays - 如何使用 mongodb 中的 $ne 查询来查询值数组?
- python - 如何为 python NamedTuple 实现“变化”的默认参数
- java - 由于依赖于 postgres 容器,spring boot 容器没有运行