为了在使用Create React App 5的项目中运行测试,我需要为一些未传递的依赖项设置transformIgnorePatterns
属性。
我可以从命令行执行此操作,如下所示:
npm run test -- --transformIgnorePatterns "node_modules/(?!(swiper|ssr-window|dom7)/)"
我可以在弹出后通过如下设置package.json
中的jest
属性来执行此操作:
{
...
transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\](?!(swiper|ssr-window|dom7/)\\.(js|jsx|mjs|cjs|ts|tsx)$",
"^.+\\.module\\.(css|sass|scss)$"
],
...
}
我一直试图通过在craco.config.js
中设置babel和jest属性的各种组合来对craco7.0.0-alpha.8
(需要支持CRA的版本5和更高版本)执行相同的操作,但似乎它们根本不起作用 (我一直看到SyntaxError: Unexpected token 'export'
错误,需要使用新设置来解决)。
module.exports = {
babel: {
transformIgnorePatterns: [
"/node_modules/(?!(swiper|ssr-window|dom7))"
],
},
jest: {
transformIgnorePatterns: [
"[/\\\\]node_modules[/\\\\](?!(swiper|ssr-window|dom7/)",
"^.+\\.module\\.(css|sass|scss)$"
]
}
}
在craco config中设置transformIgnorePatterns
属性的正确方法是什么,以便在运行测试时正确编译必要的库?
1条答案
按热度按时间ohtdti5x1#
根据official documentation,标准jest配置位于
jest.configure
下,因此您的配置应该如下所示(我可以验证这对
resetMocks
属性是否有效,但我还没有测试transformIgnorePatterns
)。