Ошибка: установите параметр «Экспериментальные декораторы» в вашем «tsconfig» или «jsconfig», чтобы удалить это предупреждение - PullRequest
0 голосов
/ 21 апреля 2020

Я пытаюсь получить базовый c пример декоратора для работы в TypeScript без всякой удачи.

Я постоянно вижу сообщение об ошибке:

Экспериментальная поддержка для декораторов - это функция, которая может быть изменена в будущем выпуске. Для удаления этого предупреждения установите опцию 'экспериментальный декоратор' в вашем 'tsconfig' или 'jsconfig'.

Мой tsconfig. json выглядит следующим образом (tsconfig в той же папке, что и index.ts):

{
    "compilerOptions": {
        "target": "esnext",
        "watch": true,
        "experimentalDecorators": true,
    }
}

Это, кажется, довольно популярная проблема, и ее многократно задавали на SO, например: Предупреждение экспериментальных декораторов при компиляции TypeScript

Я перепробовал все Решения без удачи. Кроме того, моя проблема, похоже, не связана с vscode. Я получаю ту же ошибку при попытке запустить файл из оболочки.

Что я пробовал до сих пор:

  1. Перезапуск V C Код
  2. EmitDecoratorMetaData : true
  3. Разрешить экспериментальные декораторы как неявную конфигурацию в V C Код в V C code
  4. Установить версию TS вручную
  5. Создать новый tsconfig. json

РЕДАКТИРОВАТЬ

index.ts

function f(): any {
    console.log("f(): evaluated");
    return function (target, propertyKey: string, descriptor: PropertyDescriptor) {
        console.log("f(): called");
    }
}

function g(): any {
    console.log("g(): evaluated");
    return function (target, propertyKey: string, descriptor: PropertyDescriptor) {
        console.log("g(): called");
    }
}

class C {
    @f()
    @g()
    method() {}
}

1 Ответ

0 голосов
/ 21 апреля 2020

Вы можете удалить предупреждение из CLI с помощью флага, явно предоставленного в командной строке:

tsc index.ts --experimentalDecorators

Альтернативой является перечисление index.ts в разделе files tsconfig ,

{
  "files": ["index.ts"],
  "compilerOptions": {
    "target": "esnext",
    "experimentalDecorators": true
  }
}

Вы можете вызвать CLI без каких-либо аргументов, и он должен работать без ошибок.

tsc 

Мне не удалось воспроизвести ошибку в VS Code.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...