首页 > 解决方案 > 在构建期间使用 typescript 转换环境变量

问题描述

试图找到一种干净的方法来process.env使用tsc. 基本上我正在尝试使用 typescript 编译器来实现babel-plugin-transform-inline-environment-variables所做的事情。

网络上的大多数问题都涉及让编译器运行,process.env而其他解决方案推荐使用dotenv存储环境变量等工具以供以后使用。

这在环境变量不包含敏感信息时特别有用。例子:

export const VERSION = process.env.VERSION;

建造:

VERSION='1.2.3' npx tsc --project tsconfig.json

期望的输出:

export const VERSION = '1.2.3';

标签: typescript

解决方案


对于路人,我可以通过几种不同的方式解决这个问题:

  1. 使用 babel 你可以使用babel-plugin-transform-inline-environment-variables
  2. 单独使用tsc时,您需要使用一些外部程序(如 、 或其他脚本)对转译代码进行预处理/awksed处理
  3. 使用pika我为此写pika-plugin-inline-env
  4. Webpack 有一个插件:https ://webpack.js.org/plugins/environment-plugin/
  5. Rollup 有一个插件:https ://www.npmjs.com/package/rollup-plugin-inject-process-env

推荐阅读