如何在 Typescript 中启用 experimentalDecorators

How to enable experimentalDecorators in Typescript

这个问题与那些询问如何抑制代码编辑器发出的类似警告的问题不重复,例如 VSCode。

我的问题是 Tsc 命令行编译器警告:

greet.ts:7:7 - error TS1219: Experimental support for decorators is a feature th at is subject to change in a future release. Set the 'experimentalDecorators' option to remove this warning.

这是我的代码:

function doMore(target) {
    target.doMore = true;
}

@doMore
class Test {
    do() {
        console.log('done');
    }
}  


var t = new Test();
t.do();
console.log(t.doMore);

我在根目录下创建了以下tsconfig.json:

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "allowJs": true
    }
}

但是tsc还在抱怨。

当在命令行中指定输入文件时,tsc 编译器会忽略 tsconfig.js:

`tsc greet.ts1 将简单地忽略 tsconfig.json 文件 - 因此文件中指定的编译器选项都不会生效。

tsconfig.json 文件应包含在源文件路径中,并且应在不指定源文件的情况下调用 tsc 编译器,以便将 tsconfig.js 文件包含在编译.

{
    "compilerOptions": {
        "experimentalDecorators": true,
        "target": "ES5"
    },

    "files": [
        "greet.ts"
    ]
}