详解如何用typescript开发koa2的二三事

2020-06-17 05:35:39易采站长站整理

先说第一条命令,很简单,就是编译当前的ts项目文件,输出目录需要在

tsconfig.json
中配置。我给大家看下我的运行结果。

app
是我的项目文件,运行命令后,会在根目录下创建
dist
文件夹存放我编译好的js文件,打开就是这样。

现在再说第二条命令,就是根据编译好的文件入口启动服务器。并且支持热更新,但是,

注意这里有个但是
,它只支持编译过后的文件的热更新,其实就是用js开发koa的启动命令,那这时候在源文件中的任何修改都不会有作用,所以pass。

npm run watch-serve

重点来了,这才是解决问题的关键!!!

这里完美的解决了 代码的热更新,实时编译,服务器重启 等问题。很好的提升了开发体验。

这个解决方案有一些中文博客提到,但是当初用的时候不知道为啥这样用,导致后期犯了一些现在看来很低级的错误,这个就不提了。不过确实没人说明这段命令的意思,直到昨天碰到一个问题,我才好好正视这个恶魔。

nodemon
ts-node
前文都介绍过了,我在这里只会针对具体的配置解释一下。原本我的理解是这里用逗号分隔了两个不同的命令,但是我太天真了。来看一下文档的介绍。

By default, nodemon looks for files with the .js, .mjs, .coffee, .litcoffee, and .json extensions. If you use the –exec option and monitorapp.py nodemon will monitor files with the extension of .py. However, you can specify your own list with the -e (or –ext) switch like so:


nodemon -e js,jade

Now nodemon will restart on any changes to files in the directory (or subdirectories) with the extensions .js, .jade.

nodemon
有默认吃的几种文件类型,分别是
.js, .mjs, .coffee, .litcoffee, and .json
,而我这里用的
.ts
,并不在默认支持文件里,因此这里使用
-e
来指定我需要扩展的文件类型,这里的逗号也不过是用来分隔不同类型用的。那这里提到了
--exec
这个配置。原文里说如果用
nodemon