TypeScript入门 二

110 阅读2分钟
环境准备
  1. 安装vscode
    code.visualstudio.com/download

  2. 安装nodejs
    nodejs.org/en

  3. 安装typescript编译
    npm install -g typescript

typescript

在我们安装完成vscode之后,vscode自带ts支持,我们可以在一个名为TS的目录下创建一个helloWorld.ts文件。 截屏2023-03-29 20.22.59.png 接下来我们在我们的helloWorld.ts文件下开始输入如下代码

截屏2023-03-29 20.34.43.png 此刻我们会发现ts已经开始报错啦!非常的明确。

截屏2023-03-29 20.35.53.png

奇怪的错误

我们将参数按照要求正确的传入,并且在控制台通过tsc helloWorld.ts运行该命令,说到这里又有人可能会疑问,什么是tsc呢,tsc就是一个编译器,他可以将ts文件编译为浏览器认识的js文件,当我们运行完tsc helloWorld.ts命令行后,TS文件夹下就会生成对应的js文件。但是我们发现此刻ts文件居然产生了错误-函数实现重复,但是我们并未定义两个greet函数,原因是编译后产生的js与ts文件产生了冲突,而js文件中也有一个greet函数,那么我们该如何解决这个问题呢?

截屏2023-03-29 20.44.32.png

截屏2023-03-29 20.45.56.png 运行tsc --init,那么就会生成一个名为tsconfig.json的文件,问题完美解决。 然后新的错误又出现了,哈哈,这个就涉及到我们要出参数进行类型限制的问题啦!我们可以先在tsconfig.json中将strict设置为false

截屏2023-03-29 21.02.59.png

ts文件自动编译

那有没有办法可以让ts像vue或者react那样实时的编译呢?每次都要手动的去编译超级麻烦,当然是有的!你只需在文件目录下运行
tsc --watch
此时如果我们减少greet第二个参数的传入。我们对比编译前后的ts与js文件,ts文件将不会再编译为js文件,并且在控制台报错,但是我就想让他在ts校验未通过的情况下也编译呢?我们可以运行:
tsc -noEmitOnError helloWorld.ts