TypeScript提示Process上不存在cwd、argv属性的问题如何解决
解决步骤
- 优先检查
tsconfig.json的compilerOptions.types配置
绝大多数Vue项目(尤其是Vite创建的项目)的默认tsconfig会限定类型仅包含前端相关声明(比如vite/client),不会自动加载@types/node的类型。你需要手动把node加入类型数组:
{ "compilerOptions": { "types": ["node", "vite/client"] } }
如果这个Node脚本和前端业务代码分离,建议单独编写一个tsconfig.node.json专门给Node脚本使用,执行时指定配置文件即可:ts-node --project tsconfig.node.json 你的脚本路径.ts
- 检查
@types/node版本匹配度
如果@types/node的大版本和你本地安装的Node.js大版本不一致,也会出现类型缺失问题。比如你本地用Node 18.x,就安装对应版本的类型包:npm install @types/node@18 -D - 排除Node脚本到前端编译范围外
前端代码运行在浏览器环境,本身不存在process全局变量,如果你的Node脚本被包含进了前端tsconfig的编译范围,也会触发报错。你可以把脚本目录加入tsconfig.json的exclude数组:
{ "exclude": ["node_modules", "你的Node脚本存放目录/**/*"] }
如果需要临时兜底,也可以在脚本顶部加一行类型声明:declare const process: import('process');
- 重启IDE的TypeScript语言服务
配置更新后IDE经常不会自动加载最新类型,以VS Code为例,按Ctrl+Shift+P(Mac系统为Cmd+Shift+P),选择「TypeScript: Restart TS Server」,重启后报错就会消失。
内容的提问来源于stack exchange,提问作者user1037355
相关产品推荐
相关产品推荐

