-2

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

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

greet.ts:7:7 - 错误 TS1219:对装饰器的实验性支持是一个功能,在未来的版本中可能会发生变化。设置“experimentalDecorators”选项以删除此警告。

这是我的代码:

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还是抱怨。

4

1 回答 1

2

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

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

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

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

    "files": [
        "greet.ts"
    ]
}
于 2019-04-08T07:56:13.987 回答