vite + typescript 项目,process.env 提示报错处理 TS2580 - 方法1

报错提示: TS2580: Cannot find name process. Do you need to install type definitions for node? Try npm i --save-dev @types/ node

在 Vite + TypeScript 项目中,process.env 相关的错误通常是因为 TypeScript 默认不会识别 Node.js 相关的全局变量。你可以通过以下方式解决:

方法 1:安装 @types/node

npm i --save-dev @types/node

然后,在 tsconfig.json 中添加:

{
  "compilerOptions": {
    "types": ["node"]
  }
}

这样 TypeScript 就能识别 process.env 了。


方法 2:使用 import.meta.env

Vite 默认提供 import.meta.env 作为 process.env 的替代方案,建议使用:

console.log(import.meta.env.VITE_API_URL);

如果你的 process.env 变量是 Vite 运行时环境变量,应该改用 import.meta.env,否则 TypeScript 仍会报错。


方法 3:手动声明 process

如果 @types/node 不能解决问题,你可以手动在 global.d.tsenv.d.ts 中添加:

declare var process: {
  env: {
    [key: string]: string | undefined;
  };
};

这是一种临时解决方案,更推荐使用 import.meta.env