我正在使用visual studio代码进行打字稿项目,在那里我使用了一些第三方npm js库。其中一些不提供任何ts类型(types.d.ts文件),因此每当我使用参数或变量而不指定其类型时,vs代码的linting会显示此错误:参数隐式具有“any”类型。 此外,ts不会编译。
如何防止这种情况发生?
答案 0 :(得分:22)
首先,要使打字稿容忍参数而不声明其类型,请编辑tsconfig.js
// disable this rule:
// "strict": true,
// enable this rule:
"noImplicitAny": false
其次,安装tslint npm包作为 tslint vs代码扩展
的先决条件npm install -g tslint
答案 1 :(得分:4)
指定类型:例如(callback:any) => { }
。我意识到该线程很旧,但我希望它仍可以为其他人保存谷歌搜索。
答案 2 :(得分:1)
对于那些:
import mymodule from '@/path/to/mymodule.js'
等 js 文件时出现此问题你可以:
index.d.ts
的文件declare module '@/path/to/mymodule.js'
// or using wild card *, like `declare module '@/store/*.js'`
答案 3 :(得分:0)
**我不想修改配置文件并简化打字稿!
此代码使我出错:
onDelete(todo) {
console.log('delete')
this.deleteTodo.emit(todo)
}
我通过添加“ any”类型修复了我的问题:
onDelete(todo: any) {
console.log('delete')
this.deleteTodo.emit(todo)
}
答案 4 :(得分:0)
我最终出现了以下错误。这是 Bing 上的第一个搜索结果,所以,如果对某人有帮助,请把我的解决方案放上来。
参数“onPerfEntry”隐式具有“任何”类型。 TS7006
我是这样解决的。
之前
var = "APPLE"
lower_var = var.lower()
之后
const reportWebVitals = onPerfEntry => {
我明白这是一件简单的事情,但对于像我这样的初学者来说,我花了一段时间才弄明白。
答案 5 :(得分:0)
这对我有用。 检查我如何使用 x 变量
From
const user = users.find(x => x.username === username && x.password === password);
To
const user = users.find((x:any) => x.username === username && x.password === password);