环境准备
-
安装vscode
code.visualstudio.com/download -
安装nodejs
nodejs.org/en -
安装typescript编译
npm install -g typescript
typescript
在我们安装完成vscode之后,vscode自带ts支持,我们可以在一个名为TS的目录下创建一个helloWorld.ts文件。
接下来我们在我们的helloWorld.ts文件下开始输入如下代码
此刻我们会发现ts已经开始报错啦!非常的明确。
奇怪的错误
我们将参数按照要求正确的传入,并且在控制台通过tsc helloWorld.ts运行该命令,说到这里又有人可能会疑问,什么是tsc呢,tsc就是一个编译器,他可以将ts文件编译为浏览器认识的js文件,当我们运行完tsc helloWorld.ts命令行后,TS文件夹下就会生成对应的js文件。但是我们发现此刻ts文件居然产生了错误-函数实现重复,但是我们并未定义两个greet函数,原因是编译后产生的js与ts文件产生了冲突,而js文件中也有一个greet函数,那么我们该如何解决这个问题呢?
运行
tsc --init,那么就会生成一个名为tsconfig.json的文件,问题完美解决。
然后新的错误又出现了,哈哈,这个就涉及到我们要出参数进行类型限制的问题啦!我们可以先在tsconfig.json中将strict设置为false。
ts文件自动编译
那有没有办法可以让ts像vue或者react那样实时的编译呢?每次都要手动的去编译超级麻烦,当然是有的!你只需在文件目录下运行
tsc --watch
此时如果我们减少greet第二个参数的传入。我们对比编译前后的ts与js文件,ts文件将不会再编译为js文件,并且在控制台报错,但是我就想让他在ts校验未通过的情况下也编译呢?我们可以运行:
tsc -noEmitOnError helloWorld.ts