如何在Typescript中启用experimentalDecorators

时间:2019-04-03 16:17:01

标签: javascript typescript javascript-decorators

此问题与那些询问如何禁止由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仍在抱怨。

1 个答案:

答案 0 :(得分:1)

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

`tsc greet.ts1只会忽略tsconfig.json文件-因此该文件中指定的编译器选项均无效。

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

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

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