【问题标题】:Is it possible to add environment variables to a tsconfig.json file?是否可以将环境变量添加到 tsconfig.json 文件?
【发布时间】:2020-06-08 04:00:16
【问题描述】:

我有一个 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
  }
}

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

【问题讨论】:

    标签: typescript environment-variables development-environment tsconfig tsconfig-paths


    【解决方案1】:

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

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

    或者

    只需使用 Python/JS/任何编程语言。在一天结束时,您需要生成一个json filetsc,生成它!以下带有以下脚本的 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))
    

    Bash 命令

    $ FOO=mydir python3 tsconfig.py > tsconfig.json && tsc tsconfig.json
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-18
    • 2014-10-23
    • 1970-01-01
    • 2016-12-22
    相关资源
    最近更新 更多