You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在package.json脚本中读取.env文件的环境变量?

解决package.json脚本中加载.env环境变量的问题

方法1:修正env-cmd的使用方式

先确保安装env-cmd依赖:

npm install env-cmd --save-dev
# 或pnpm
pnpm add env-cmd -D

修正.env文件格式

env-cmd会把引号解析为变量内容的一部分,所以去掉变量值的引号:

MY_URL=example.com
MY_BROWSER=chrome
USER=xyz
PASSWORD=123

修改package.json脚本

注意完整拼接URL,并且正确调用env-cmd:

"myscript": "env-cmd pnpx playwright codegen https://$MY_URL"

如果是Windows系统,PowerShell环境变量引用格式为%MY_URL%,可以用cross-env实现跨平台兼容:

pnpm add cross-env env-cmd -D

脚本改为:

"myscript": "cross-env env-cmd pnpx playwright codegen https://%MY_URL%"

方法2:使用dotenv-cli替代env-cmd

dotenv-cli兼容性更好,安装后直接使用:

pnpm add dotenv-cli -D

脚本写法:

"myscript": "dotenv -- pnpx playwright codegen https://$MY_URL"

方法3:Node.js脚本中转(兜底方案)

如果工具类方案无效,可写一个简单的Node.js脚本作为中转,比如创建run-codegen.js:

require('dotenv').config();
const { execSync } = require('child_process');

const targetUrl = `https://${process.env.MY_URL}`;
execSync(`pnpx playwright codegen ${targetUrl}`, { stdio: 'inherit' });

安装dotenv依赖:

pnpm add dotenv -D

package.json脚本改为:

"myscript": "node run-codegen.js"

常见排查点

  • 确认.env文件放在项目根目录,与package.json同级
  • 检查.env内变量名拼写、无多余空格
  • 环境变量引用符匹配当前shell:Linux/macOS用$VAR,Windows cmd用%VAR%,PowerShell用$env:VAR

内容的提问来源于stack exchange,提问作者Ger Mc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 04:50:14