【发布时间】:2019-04-19 12:49:06
【问题描述】:
我有一个对象,我想听更改以执行一些操作,在 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;
}
});
但是 linter 向我显示了这个错误信息
[ts] Cannot find name 'Proxy'.
终端输出:
我进行了一些研究,但无法找到问题所在。
按照建议,我将模块参数更改为 ES6 而不是 commonjs,没有任何反应。 下面完成输出
还有我的 package.json
{
"compilerOptions": {
"module": "ES6",
"moduleResolution": "node",
"noImplicitAny": true,
"sourceMap": true,
"outDir": "dist",
"baseUrl": ".",
"paths": {
"*": ["node_modules/*"]
}
},
"include": [
"src/**/*"
]
}
【问题讨论】:
标签: typescript ecmascript-6 visual-studio-code