Skip to content

引入

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 格式的环境变量文件,忽略以 # 开头的注释行

参数

参数名类型描述
filepathstring文件路径,如果文件不存在则将参数作为字符串直接解析

返回: 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

参数

参数名类型描述
keystring环境变量的key
filepathstring保存环境变量的文件路径

返回: 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();