Create React App+TypeScript项目用Jest报找不到ts-node错误怎么办
解决方案
- 优先使用项目本地的jest执行,不要调用全局jest命令。你可以将测试命令写入package.json的scripts字段:
随后运行"scripts": { "test:sum": "jest sum --notify" }npm run test:sum或者yarn test:sum即可,项目脚本执行时会自动加载本地node_modules下的依赖,能正确识别已安装的ts-node。
你也可以直接运行npx jest sum --notify,npx会默认优先调用本地项目的jest二进制文件,避免全局依赖和本地依赖不匹配的问题。 - 如果确实需要使用全局jest命令,将ts-node和typescript同步安装到全局环境即可:
该方法不推荐,容易导致不同项目的依赖版本冲突。npm install -g ts-node typescript - 版本冲突排查:你使用的react-scripts 4.0.3已经内置了Jest、ts-jest等测试相关依赖,手动安装的jest/ts-jest如果和内置版本不匹配也会触发该报错。你可以卸载自行安装的jest、ts-jest依赖,直接使用CRA内置的测试能力,运行
react-scripts test即可完成测试执行,不需要额外配置ts-node。 - 规避方案:如果上述方法都不生效,可以将
jest.config.ts改为JavaScript格式的jest.config.js,不需要ts-node解析配置文件,直接就能正常运行。
内容的提问来源于stack exchange,提问作者JimmyTheCode
相关产品推荐
相关产品推荐

