React TypeScript项目报TS1005:'=' expected错误如何解决?
报错原因
这个TS1005错误是因为你的项目使用的TypeScript版本低于3.8,不支持import type、export type专用类型导入导出语法,编译器无法识别该语法才会抛出「期望等号」的语法错误。
修复方案
- 方案1:升级TypeScript到3.8及以上版本
- 先检查当前项目TS版本:
npm list typescript # 或yarn yarn list typescript- 升级到兼容的稳定版本:
npm install --save-dev typescript@^4.9.5 # 或yarn yarn add --dev typescript@^4.9.5- 如果是编辑器(如VS Code)报的错,需将编辑器使用的TS版本切换为项目本地版本:打开任意TS文件,点击编辑器右下角的TS版本号,选择「使用工作区版本」即可。
- 方案2:不升级TS版本的兼容处理
把所有import type改为普通import,所有export type改为普通export即可:// 修改前 import type { NewPlugin, Options, OptionsReceived } from './types'; export type { Colors, Config, Options /* 其余类型 */ } from './types'; // 修改后 import { NewPlugin, Options, OptionsReceived } from './types'; export { Colors, Config, Options /* 其余类型 */ } from './types'; - 额外排查项:你报错信息里显示第7行导入的是
Optionsz,而你自己的代码里是Options,如果报错文件来自node_modules的第三方依赖,可以尝试升级对应依赖的版本,你的tsconfig已经开启了skipLibCheck: true正常会忽略三方包的类型报错,若仍报错可在tsconfig的exclude配置里添加"node_modules"。
内容的提问来源于stack exchange,提问作者Nhan Nguyen
相关产品推荐
相关产品推荐

