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

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

hello.ts

tsc hello.ts

报错

E:\source\develop\typescript\typescriptstudy\hello.ts(5,5): error TS1005: ';' expected.

实际测试 发现 把let换成var即不会报该错误。
网上查阅资料得知错误消息说的不是错误的分号,而是编译器无法识别let关键字。

运行tsc -v
发现版本是1.0.3.0

然后在网上得知typescript是在1.4 支持let语法。就打开windows 环境变量,看看tsc 是用到哪里的命令,是不是版本不对。

在windows环境变量内path 中发现下列语句:
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0;
貌似用到的是系统自带的1.0 。

这里将该环境变量删除。顺便也将路径下的typescript 1.0删除即可。在重新安装一下

npm install -g typescript@latest

即没有报上诉错误了
最后运行一下:
tsc -v
发现这次不是1.0.3.0了而是最新安装的3.8.3 。没问题了。

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐