一直说着学习TS,那你倒是搭建一个简易的TS项目环境啊

107 阅读4分钟

typeScript,顾名思义,就是给javaScrip加上type,类型定义是typeScript对于javaScript而言非常重要的一个扩展。虽然现在typeScript并不能直接在node环境和浏览器上直接运行,但是学习和使用typeScript编写前端代码,能够帮助我们规避更多书写代码过程中可能出现的错误,可以使编辑器有更友好的语法提示,进而提高书写代码的效率,并且通过直接阅读typeScript代码,通过阅读静态类型的定义,更加清晰易懂代码语义。

不难发现,基于vue3项目的很多开源框架,比如Element、Vant等,其框架很多逻辑,都是直接书写的ts代码,然后编译成js再进行发布,所以学习和使用ts已经是前端开发人员提高能力不得不掌握的本领之一。

本文我将讲述一个简易的原生ts项目环境该如何搭建?如何通过一些工具快速的运行ts项目?使自己有一个项目环境能够书写ts代码并运行。

先创建一个项目文件夹,我把它命名为tsDemo,通过命令行工具进入到该项目文件夹内,运行npm init -y初始化一下项目信息,可以看到项目根目录下出现了一个package.json文件,这个文件很重要,将用来记录项目中用到的全部依赖信息和一些配置信息,用vscode打开项目,查看package.json文件,新建一个终端,运行npm run install typescript -g全局安装typescript

20220729214115.png

这样就能在当前项目书写ts代码了,在正式书写ts代码之前,先在终端上运行tsc --init命令,初始化这个项目为一个ts项目,根目录先就会多出一个tsconfig.json配置文件,然后在根目录下新建一个src目录来存放项目书写的ts代码文件,创建好后在src目录下新建一个demo.ts并书写一段简易的ts代码来进行测试

image.png

书写完代码,我发现,该怎运行这段代码呢?ts代码并不能直接在node环境和浏览器上直接运行啊,但是js代码可以,所以就需要先把ts代码文件编译成js代码文件,然后运行js代码文件才行。 打开终端,进入src目录,运行tsc demo.ts就可以把demo.ts文件编译成,再在终端上运行node demo.js就可以看到代码成功运行后的结果啦

image.png

但是我们应该思考一个问题,如果我每次编写好ts代码后要运行,都必须先编译成js代码,这个过程能不能进行简化呢?这时候ts-node工具就诞生了,在终端运行npm install ts-node -g全局安装ts-node工具后,运行ts-node demo.ts就可以直接运行ts代码文件并得到我们想要的结果,但是这么做又出现了很多问题,运行ts代码后它不能生成对应的js文件了,反过来我们还是要继续使用tsc命令,去先编译成js再执行,一个项目中的ts代码文件是可能很多的,我们可以修改package.json中的script为下图

image.png

这样当我们修改了很多ts文件后,只需在终端运行npm run build,就会自动去找项目中的ts文件然后编译成js文件,在tsc进行编译的过程中,又是结合项目中的tsconfig.json文件来对编译的过程进行一些控制;修改tsconfig.json中的outDir为"./build",那么编译后的文件就会都在build文件夹里

image.png

同时我们再考虑一个需求,实现自动感知项目ts文件的变化,自动进行编译,无需每次修改ts文件后手动输入命令进行编译;只需修改package.json中的"build": "tsc"为"build": "tsc -w"。

但是在实际项目开发中,一个项目还会有它的入口文件,比如index.ts、main.ts,那么我们就又能进行改进了,在自动感知项目ts文件改变并进行编译后,能不能自动运行项目入口文件呢?那就需要用到nodemon工具了,该工具的具体安装和使用可以去github上查阅。

这样,我们终于能比较舒服的在一个项目里书写ts代码了。