Jest测试引入esm依赖问题
我项目使用了esm版的@pika/react,导致jest执行出错Unexpected token 'export'
。
能想到的解决方法有如下:
- 提升本地node版本到v13.2.0+,native支持esm规范;
- 配置jest的
moduleNameMapper
参数,把单元测试文件的react引用指向commonjs规范的react包; - 在
transformIgnorePatterns
参数中增加白名单让@pika
目录下的文件经过babel转一下。
我是打算用第3种方法的,但是没有效果:
// jest.config.js
transformIgnorePatterns: [
"node_modules/(?!@pika/)"
]
// .babelrc
{
"presets": [
[
"react-app"
]
]
}
不知道是我正则写错了还是其他什么原因?
PS:我是想尝试下尤大的新打包工具vite,它的本地开发体验会比传统的webpack静态打包好很多,我初步浏览了下源码,vite会起个本地的koa服务截获浏览器的资源请求,根据资源类型进行转译或直接返回,尤其在频繁更改文件时不会像webpack那样总是重新编译,每次要等好久。
vite要求第三方依赖包得是esm规范的,但是在node端执行的jest就有我现在遇到的问题了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论