我有一个 Vue.js 应用程序,其中两个文件包含:
import axios from "axios"
这些文件位于应用程序内的 src/lib 中,并在第一行包含 import 语句。
无论 package.json 说什么,在 Github 上运行测试都会导致安装 Axios 1.0.0,现在涉及这些文件的任何测试都会失败并出现上述错误。
将语句更改为const axios = require("axios")
失败也; node_modules/axios/index.js 在第 1 行包含一个 import 语句,并在那里抛出异常。
对于此类问题,我经常看到的一个建议是添加"type": "module"
到 package.json (与 src/ 处于同一级别)。这会导致所有测试失败,并要求将 vue.config.js 重命名为 vue.config.cjs。这样做让我: Error: You appear to be using a native ECMAScript module configuration file, which is only supported when running Babel asynchronously
,我不明白。
谁能建议在这里做什么?
我能够通过强制 jest 导入 commonjs axios 构建来修复此错误,方法是添加
"jest": {
"moduleNameMapper": {
"axios": "axios/dist/node/axios.cjs"
}
},
to my package.json
。其他解决方案使用transformIgnorePatterns
不适合我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)