typescript - 在构建期间使用 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';
解决方案
对于路人,我可以通过几种不同的方式解决这个问题:
- 使用 babel 你可以使用
babel-plugin-transform-inline-environment-variables
- 单独使用
tsc
时,您需要使用一些外部程序(如 、 或其他脚本)对转译代码进行预处理/awk
后sed
处理 - 使用
pika
我为此写pika-plugin-inline-env
的 - Webpack 有一个插件:https ://webpack.js.org/plugins/environment-plugin/
- Rollup 有一个插件:https ://www.npmjs.com/package/rollup-plugin-inject-process-env
推荐阅读
- python - Seaborn catplot 与 PairGrid 相结合
- javascript - vue js中的axios将请求作为字符串而不是对象发送
- javascript - 有没有办法在变量名中使用变量?
- regex - Nginx 位置正则表达式通用
- pyspark - 如何使用 rdd.sum() 从 pyspark 中的文本文件中查找 RDD 中特定单词的总数
- c - SDL_Mixer 缺少文件
- python - 基于比较其他数据帧值生成一个带有布尔列的新数据帧
- python - 如何在 python pandas 中删除查询的键值?
- javascript - Vuetify v-progress-linear(不确定)不更新
- php - 按客户电子邮件或姓名搜索订单