Как включить экспериментальные декораторы в Typescript - PullRequest
0 голосов
/ 03 апреля 2019

Этот вопрос не является дубликатом тех вопросов, которые задают, как подавить подобное предупреждение, выдаваемое редакторами кода, такими как VSCode.

Моя проблема связана с предупреждением компилятора командной строки Tsc:

greet.ts: 7: 7 - ошибка TS1219: Экспериментальная поддержка декораторов - это функция, которая может быть изменена в будущем выпуске.Чтобы удалить это предупреждение, установите параметр «Экспериментальные декораторы».

Вот мой код:

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 Ответ

1 голос
/ 08 апреля 2019

Компилятор tsc игнорирует tsconfig.js, когда входные файлы указаны в командной строке:

`tsc greet.ts1 просто проигнорирует файл tsconfig.json - таким образом, никакие опции компилятора, указанные в файле, не будут эффективными.

Файл tsconfig.json должен быть включен в пути к исходным файлам, а компилятор tsc должен вызываться без указания исходных файлов, чтобы включить файл tsconfig.js в компиляцию.

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

    "files": [
        "greet.ts"
    ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...