特定于环境的 tsconfig.json

And*_*ree 12 environment typescript tsconfig

有没有办法如何设置tsconfig.json环境特定的,例如tsconfig.prod.jsontsconfig.dev.json

我想在开发环境中拥有sourceMapcomments,但我想在生产环境中删除这些。

Ogg*_*las 14

您可以extends为此使用。

https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#configuration-inheritance-with-extends

例子: tsconfig.prod.json

{
  "extends": "./tsconfig",
  "compilerOptions": {
    "sourceMap": "false"
  }
}
Run Code Online (Sandbox Code Playgroud)

如果您使用webpack并且ts-loader您可以像这样设置它:

https://github.com/TypeStrong/ts-loader#configfile-string-defaulttsconfigjson

module: {
    rules: [
        // All files with a '.ts' or '.tsx' extension will be handled by 'ts-loader'.
        {
            test: /\.tsx?$/,
            use: [
                {
                    loader: 'babel-loader',
                    options: {
                        babelrc: false,
                        plugins: ['react-hot-loader/babel'],
                    },
                },
                {
                    loader: 'ts-loader',// (or awesome-typescript-loader)
                    options: {
                        configFile: 'tsconfig.prod.json'
                    },
                },

            ],
         },
Run Code Online (Sandbox Code Playgroud)