У меня есть объект, и я хочу прослушать изменения, чтобы выполнить некоторые действия. В ES6 я бы сделал что-то подобное:
let members = {};
let targetProxy = new Proxy(members, {
set: function (members, key, value) {
console.log(key + " set to " + value);
members[key] = value;
return true;
}
});
Конвертировано в машинопись
const members = {};
let targetProxy: any = new Proxy(members, {
set: function (members: any, key: string, value: string) {
console.log(`${key} set to ${value}`);
members[key] = value;
return true;
}
});
Но ЛИНТЕР показывает мне это сообщение об ошибке
[ts] Cannot find name 'Proxy'.
Выход терминала:
Я провел несколько исследований, и мне не удалось найти, что случилось.
Как и предполагалось, я изменил свой параметр модуля на ES6 вместо commonjs, ничего не происходит.
Полный вывод ниже
и мой пакет. Json
{
"compilerOptions": {
"module": "ES6",
"moduleResolution": "node",
"noImplicitAny": true,
"sourceMap": true,
"outDir": "dist",
"baseUrl": ".",
"paths": {
"*": ["node_modules/*"]
}
},
"include": [
"src/**/*"
]
}