引入
ts
import {
getEnvVariableMap,
readEnvVariable,
writeEnvTokenToNpmRC
} from 't-comm';
// 不支持 tree-shaking 的项目
import {
getEnvVariableMap,
readEnvVariable,
writeEnvTokenToNpmRC
} from 't-comm/lib/env-variable/index';
// 只支持 ESM 的项目
import {
getEnvVariableMap,
readEnvVariable,
writeEnvTokenToNpmRC
} from 't-comm/es/env-variable/index';getEnvVariableMap(filepath)
描述:获取文件中所有环境变量的键值对映射 支持解析 KEY=VALUE 格式的环境变量文件,忽略以 # 开头的注释行
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| filepath | string | 文件路径,如果文件不存在则将参数作为字符串直接解析 |
返回: Record.<string, any>
环境变量的键值对映射
示例
ts
// 解析 .env 文件
const envMap = getEnvVariableMap('.env.local');
// { NODE_ENV: 'production', API_URL: 'https://api.example.com' }
// 直接解析字符串
const envMap2 = getEnvVariableMap('KEY1=value1\nKEY2=value2');
// { KEY1: 'value1', KEY2: 'value2' }readEnvVariable(key, filepath)
描述:读取文件中环境变量的值,支持:
- NPM_TOKEN=xxx
- NPM_TOKEN = xxx
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| key | string | 环境变量的key |
| filepath | string | 保存环境变量的文件路径 |
返回: string
环境变量的值
示例
ts
const token = readEnvVariable('NPM_TOKEN', '.env.local');
console.log(token); // 'npm_xxxxxxxxxxxxxxxx'writeEnvTokenToNpmRC()
描述:将 .env.local 中 NPM_TOKEN 的值写入到 .npmrc 中
参数:
示例
ts
// 在发版脚本中使用:
// 先在项目根目录的 .env.local 写入 NPM_TOKEN=xxx
// 然后调用此方法生成 .npmrc,便于 npm publish 进行授权
writeEnvTokenToNpmRC();