直接配置ts的开发环境还是挺麻烦的。这里我总结了一套开发模板。使用时可以考虑直接clone这个项目。项目地址为https://github。com/fish-node/...以本项目为模板开发即可。$tree.├──README.md├──jest.config.js├──package.json├──src│├──index.ts│├──math.ts│└──server.ts├──test│├──math.test.ts│└──server.test.ts├──tsconfig.json└──tslint.jsonts-node因为ts是基于js的,但是node不能直接运行ts代码,在实际使用中,经常需要使用tsc将ts代码编译成js代码,这无疑是非常麻烦的。而ts-node封装了node,可以直接运行ts代码,使用起来非常方便,它的官方仓库在这里https://github.com/TypeStrong...,基本使用请查看它的readme。这里我把ts-node写到package.json中。npminstall后,可以通过$npxts-nodesrc/index.ts运行ts代码,非常方便。然后我们知道在node中有一个nodemon,它可以在开发的时候自动重启我们的node程序,而在ts-node中,对应的是ts-node-dev$npxts-node-devsrc/index.tssamplecode中src目录下,我写了三个基本的ts代码math.ts是ts最基本的用法然后server.js展示了如何用ts写一个http服务器index.ts展示了ts中模块化的使用测试框架然后我用Jest作为测试框架,在test目录下展示使用Jest+Ts编写我们的测试程序。运行测试文件,可以使用$npmruntest@types@types/node@types/jest是ts中的类型声明文件,可以给js写的模块一个类型系统,让我们享受到的好处类型系统。配置文件.editorconfig是我们配置IDE让我们的代码检查配置文件时读取的配置文件tslint.json。该文件主要继承了官方推荐的代码风格。不过为了调试方便,在tsconfig.json中将'no-console'的条件设置为false,关注我们的ts配置文件。一般来说,json文件是不支持注释的,但是为了方便,ts官方单独对这个文件进行了增强,让我们可以使用注释,注释语法和js中是一样的。{"compilerOptions":{"target":"es2018","module":"commonjs","outDir":"./dist/","rootDir":"./src/","strict":true,"moduleResolution":"node","esModuleInterop":true,"experimentalDecorators":true},"exclude":["./test"]}其中目标是编译后的js代码的版本,因为我们在一个node环境,不需要考虑浏览器兼容性问题,尽量使用更新后的版本。module选项是我们的模块管理机制,因为我们的ts-node还没有点出es的模块管理机制,参考这个问题https://github.com/TypeStrong...,所以我们继续使用commonjs规格。那么rootDir就是我们的源代码目录,outDir就是我们编译代码的目录。同时,我们设置排除选项来排除我们的测试文件。
