- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
如 Does TypeScript have type definitions for InputEvent? 中所述,我尝试使用 @types/dom-inputevent
在我的 Angular 7 项目中获取 InputEvent
。但它显示 error TS2304: Cannot find name 'InputEvent'
每当我使用它时。
是否需要在 Angular 项目中“注册”它或者它是一个错误?
如果修复不可用,我只想要一种方便的方法来实现与 InputEvent
中的 event.data
相同的结果。
谢谢!
最佳答案
我在尝试在 Angular 6 应用程序的单元测试中使用 @types/dom-inputevent 时遇到了同样的问题。就我而言,原因是我的 tsconfig.spec.js 中有一个明确的“类型”条目,如下所述。
tsconfig.json(无关部分省略)
{
"compilerOptions": {
"typeRoots": [
"node_modules/@types"
]
}
}
tsconfig.spec.js(省略无关部分)
{
"extends": "../tsconfig.json",
"compilerOptions": {
"types": [
"jasmine",
"node"
]
}
如您所见,有一个 types
条目列出了在编译期间应该可用的显式类型。这会覆盖父 tsconfig.json 中的 typeRoots
设置,因此在编译我的单元测试时只有 @types/jasmine 和 @types/node 可用。另见此处:https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#types-typeroots-and-types .
解决方案 是将dom-inputevent
添加到types
列表中,例如
{
"extends": "../tsconfig.json",
"compilerOptions": {
"types": [
"jasmine",
"node",
"dom-inputevent"
]
}
另一种方法是完全删除类型条目。如果我那样做,typeRoots
就会启动并查找 node_modules/@types 下的所有类型,因此也包括 @types/dom-inputevent
。
关于angular - 错误 TS2304 : Cannot find name 'InputEvent' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53627762/
我是一名优秀的程序员,十分优秀!