2

我有一个 tsconfig.json 文件,其中包含

{
  "extends": "../../zlux-app-manager/virtual-desktop/plugin-config/tsconfig.base.json",
  "include": [
    "src/**/*.ts",
    "../../zlux-platform/interface/src/mvd-hosting.d.ts"
  ],
  "compilerOptions": {
    "skipLibCheck": true
  }
}

我想用环境变量替换../../ 。有哪些可能的解决方案?

4

1 回答 1

1

tsconfig.json是一个简单的 JSON 文档,缺少任何引用环境变量的方法。您可以检查tsconfig Schema中所有可能的选项。

不过,这并不限制您的用例。您可以使用诸如Jsonnet 之类的数据模板语言。它是一个 20% 的项目,可以生成动态 json(或其他符号格式)。您可以使用它来生成辅助 tsconfig.json 文件并将其作为参数传递给 tsc。

或者

只需使用 Python/JS/任何编程语言。在一天结束时,您需要生成一个json fileto tsc,生成它!以下带有以下脚本的 Python 代码可以完美运行。

import os, json
r ={
  "extends": os.environ['FOO'] + "/zlux-app-manager/virtual-desktop/plugin-config/tsconfig.base.json",
  "include": [
    "src/**/*.ts",
    os.environ['FOO'] + "/zlux-platform/interface/src/mvd-hosting.d.ts"
  ],
  "compilerOptions": {
    "skipLibCheck": True
  }
}
print(json.dumps(r))

重击命令

$ FOO=mydir python3 tsconfig.py > tsconfig.json && tsc tsconfig.json
于 2020-02-24T17:58:10.660 回答