Open findxc opened 2 years ago
tsconfig 是 json 文件,是写死的,不能根据环境变量进行不同赋值。某些场景下某些配置确实需要根据环境变量来赋值时,可以参考 https://github.com/microsoft/TypeScript/issues/25271#issuecomment-400725807 进行处理。
首先新建一个 tsconfig.js ,内容如下:
tsconfig.js
module.exports = { // 根据 process.env.xxxx 赋值即可 }
然后新建一个 set-tsconfig.js ,内容如下:
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 即可。
npm start
cross-env xxxx=xx node ./set-tsconfig.js && old start
先把 tsconfig.json 加到 .gitignore ,然后执行 git rm --cached tsconfig.json ,这样后续 tsconfig.json 的变化就不会被 git 追踪了。
tsconfig.json
.gitignore
git rm --cached tsconfig.json
tsconfig 是 json 文件,是写死的,不能根据环境变量进行不同赋值。某些场景下某些配置确实需要根据环境变量来赋值时,可以参考 https://github.com/microsoft/TypeScript/issues/25271#issuecomment-400725807 进行处理。
方案
首先新建一个
tsconfig.js
,内容如下:然后新建一个
set-tsconfig.js
,内容如下:然后
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 追踪了。