从源码构建React报错:找不到@babel/code-frame的声明文件
解决React源码构建时TS7016类型声明缺失问题
问题场景
全新安装React源码且未做任何修改,执行以下构建命令时:
mkdir -p ./compiler/packages/babel-plugin-react-compiler/dist && echo "module.exports = require('../src/index.ts');" > ./compiler/packages/babel-plugin-react-compiler/dist/index.js BUILDING eslint-plugin-react-hooks.development.js
触发错误:
(node_dev) @rollup/plugin-typescript TS7016: 找不到模块'@babel/code-frame'的声明文件。'/Users/jithinaji/Developer/react/node_modules/@babel/code-frame/lib/index.js'隐式拥有'any'类型。建议尝试执行npm i --save-dev @types/babel__code-frame(若存在),或添加包含
declare module '@babel/code-frame';的新声明(.d.ts)文件。
解决方案
安装对应类型声明包
直接执行错误提示中的命令,安装匹配的类型声明开发依赖:npm i --save-dev @types/babel__code-frame注意包名使用双下划线
babel__code-frame,对应@babel/code-frame的官方类型声明。手动添加声明文件(若类型包不存在)
如果安装命令提示包不存在,可在compiler/packages/babel-plugin-react-compiler目录下创建一个.d.ts文件(例如babel-code-frame.d.ts),写入以下内容:declare module '@babel/code-frame';完成后重新执行构建命令即可。
校验依赖完整性
若上述方法无效,尝试重新安装所有项目依赖,确保依赖树完整:npm install
内容的提问来源于stack exchange,提问作者JithinAji
相关产品推荐
相关产品推荐

