npm start 前怎么根据环境变量动态生成 tsconfig.json
Opened this issue · 0 comments
findxc commented
tsconfig 是 json 文件,是写死的,不能根据环境变量进行不同赋值。某些场景下某些配置确实需要根据环境变量来赋值时,可以参考 microsoft/TypeScript#25271 (comment) 进行处理。
方案
首先新建一个 tsconfig.js
,内容如下:
module.exports = {
// 根据 process.env.xxxx 赋值即可
}
然后新建一个 set-tsconfig.js
,内容如下:
const tsconfig = require('./tsconfig.js')
// 生成 tsconfig.json
require('fs').writeFileSync('tsconfig.json', JSON.stringify(tsconfig, null, 2))
然后 npm start
的命令改为 cross-env xxxx=xx node ./set-tsconfig.js && old start
即可。
补充:怎么让 git 不再追踪 tsconfig.json 变化
先把 tsconfig.json
加到 .gitignore
,然后执行 git rm --cached tsconfig.json
,这样后续 tsconfig.json
的变化就不会被 git 追踪了。