javascript - 更新到 jest 24 后 transformIgnorePatterns 不起作用
问题描述
我刚刚更新到 jest 24,它似乎transformIgnorePatterns
不起作用。
这是我收到的错误:
/Users/lemoustachiste/work/frontend/node_modules/my-untranspiled-package/build/bundle.js:7948
export default Package$1;
^^^^^^
SyntaxError: Unexpected token export
开玩笑的配置:
module.exports = {
'modulePaths': [
'<rootDir>/src/',
'<rootDir>/node_modules'
],
'transformIgnorePatterns': [
'node_modules/(?!(my-untranspiled-package)/)'
],
'transform': {
'^.+\\.(ts|tsx)$': 'ts-jest',
'^.+\\.(js|jsx)$': 'babel-jest',
'^.+\\.(scss|ico)$': '<rootDir>/tests/importStub.js'
},
'setupFiles': [
'<rootDir>/tests/jest-aurelia.config.ts'
],
'setupFilesAfterEnv': ['<rootDir>/tests/jest-framework.config.ts'],
'testRegex': '\\.(test|spec)\\.(ts|js)x?$',
'globals': {
'ts-jest': {
'diagnostics': false
}
}
};
该项目仍然为 babel 6 配置。它与 Jest 23 一起工作正常。
解决方案
所以我从更新到 babel 7 开始,但仍然遇到了这个问题。然后我发现了这个评论:https ://github.com/facebook/jest/issues/7578#issuecomment-451671656
指向文档的这一部分:https ://jestjs.io/docs/en/getting-started#using-babel
果然,从 package.json 中提取 babel 配置到它自己的文件中解决了这个问题。
推荐阅读
- c++ - C++ 中给定的两行动态内存分配有什么区别?他们都创建了 10 个大小的数组吗?
- javascript - 如何覆盖单个选择元素中的默认事件侦听器以使其表现得像倍数?
- java - 如何在 Java 中编码没有 HTML 实体的特殊 HTML 字符
- excel - 仅在满足条件时才选中所有复选框
- android - Android Studio 请检查我一直在努力寻找在 kotlin 中视频视图为空的解决方案
- ios - 将数据从 SwiftUI 传递到 UIKit 的回调
- python - 在多轴图中旋转 xtick 标签
- android - android上的同一个数据库是否可以有多个文件dao?
- angular - Angular mat-datepicker 页面更改事件
- sharepoint-online - kw 搜索上的 SharePoint 不熟悉错误:SubstrateSearchException: Remote executors failed