ASP.NET Boilerplate中React前端npm test报错及后续问题求助
解决方案
步骤1:恢复package.json配置
移除package.json中添加的"type": "module"字段——当前版本的craco依赖CommonJS方式加载配置文件,该字段会导致craco无法读取配置文件,引发模块加载错误。
步骤2:配置Jest处理antd模块与样式文件
- 安装
jest-transform-stub依赖,用于跳过样式文件的解析:
npm install jest-transform-stub --save-dev
- 修改
craco.config.js,添加Jest专属配置,让Jest转换antd相关的ES模块,并忽略样式文件:
module.exports = { // 保留项目原有其他配置(如babel、webpack等) jest: { configure: { // 指定Jest需要转换node_modules中的antd及其依赖模块 transformIgnorePatterns: [ '/node_modules/(?!antd|@ant-design|rc-.+?)/' ], // 用stub替代css/less文件,避免Jest尝试解析样式导入语法 moduleNameMapper: { '\\.(css|less)$': 'jest-transform-stub' } } } };
步骤3:重新运行测试
执行命令重新启动测试:
npm test
额外排查点
如果问题仍存在,检查项目的babel配置文件(babel.config.js或.babelrc),确保包含以下预设:
module.exports = { presets: [ '@babel/preset-env', '@babel/preset-react', '@babel/preset-typescript' ] };
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

