Я хочу использовать TSyringe для реализации внедрения зависимостей в своем приложении. Итак, я использую интерфейсы, поэтому мне нужно применить декоратор параметров, чтобы связать интерфейс и класс. Но у меня проблема: «Декораторы здесь недопустимы.ts(1206)», а @injectable() для класса работает без проблем.
public constructor(@inject("Controller") private _controller: Controller) { }
Я использовал Google и попытался найти решение своей проблемы. Я изменил «experimentalDecorators», «emitDecoratorMetadata» на true и «useDefineForClassFields»: false, но мне это не помогло.
Это мой tsconfig.json:
{ "compilerOptions": { "target": "ES2020", "useDefineForClassFields": false, } "experimentalDecorators": true, "emitDecoratorMetadata": true }






Похоже, у вас проблема с tsconfig.json. Параметры экспериментаDecorators иemitDecoratorMetadata должны находиться в параметре compilerOptions. Чтобы правильно применить. Вот обновленный tsconfig.json:
{
"compilerOptions": {
"target": "ES2020",
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"useDefineForClassFields": false
}
}
Я буду рад, когда этот ответ решит вашу проблему.
Большое спасибо, мне это действительно помогает. Моя проблема такая глупая. Это была просто моя невнимательность.