typescript编译报错

初学typescript。成功安装了typescript,视图运行一个Hello TypeScript项目,成功编译了JS文件,但是有报错。

hello.ts文件:

function sayHello(person: string) {
    return 'Hello, ' + person;
}

let user:string = 'Tom';
console.log(sayHello(user));

ts版本:3.7.4:
image.png

报错信息如下:
image.png

error TS2688: Cannot find type definition file for 'accepts'.

error TS2688: Cannot find type definition file for 'body-parser'.

error TS2688: Cannot find type definition file for 'connect'.

error TS2688: Cannot find type definition file for 'cookies'.

error TS2688: Cannot find type definition file for 'cors'.

error TS2688: Cannot find type definition file for 'events'.

error TS2688: Cannot find type definition file for 'express'.

error TS2688: Cannot find type definition file for 'express-serve-static-core'.

error TS2688: Cannot find type definition file for 'fs-capacitor'.

error TS2688: Cannot find type definition file for 'glob'.

error TS2688: Cannot find type definition file for 'graphql-upload'.

error TS2688: Cannot find type definition file for 'http-assert'.

error TS2688: Cannot find type definition file for 'keygrip'.

error TS2688: Cannot find type definition file for 'koa'.

error TS2688: Cannot find type definition file for 'koa-compose'.

error TS2688: Cannot find type definition file for 'long'.

error TS2688: Cannot find type definition file for 'mime'.

error TS2688: Cannot find type definition file for 'minimatch'.

error TS2688: Cannot find type definition file for 'node-fetch'.

error TS2688: Cannot find type definition file for 'range-parser'.

error TS2688: Cannot find type definition file for 'serve-static'.

error TS2688: Cannot find type definition file for 'ws'.

error TS2688: Cannot find type definition file for 'zen-observable'.
阅读 17.5k
3 个回答

解决方法:
先卸载typescript之前的版本3.7.4

npm uninstall typescript -g

再重新安装typescript最新版3.8.3,没有错误了,编译通过

npm install typescript -g

目前想到的唯一可能就是第一次安装的某个地方出错了。

第一种解决方法

1. 正确配置你的 typeRoots
```json
"typeRoots": [
   "node_modules/@types",
   "src/typings"
]
```
2. 安装缺少的类型

第二种解决方法为在 tsconfig.json中的 compilerOptions.skipLibCheck 设置为 true

{
  "compilerOptions": {
    "skipLibCheck": true
  }
}

我这边是全局安装的 typescript (yarn global add typescript) ,版本 3.8.2 并未报错,感觉还是和你本地有关系
{7EA818FD-E3A7-4CF9-9F9F-1B68E456ABCA}_20200330152801.jpg

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题