用户登录

一般在本地开发 Nest 应用的时候,可以在项目下面,执行一下 npm run start:dev 这个命令,它会直接在本地创建一个开发服务,这个服务的地址默认是 localhost:3000 。

可以打开一个 Http 客户端,然后请求一下这个地址,请求的方法使用 GET,请求的地址是 http://localhost:3000 。Nest 会返回一个字符串,Hello World 。

回到项目,打开 package.json,在 scripts 里面,找到 start:dev 这个命令。注意使用不同版本的 Nest 命令行工具创建的项目,这个命令的定义可能会不太一样。

在我的这个项目里运行 start:dev,执行的是 tsc-watch 这个东西,这个 tsc-watch,会出现在这个项目的 devDependencies 里面。

tsc-watch ,跟 TypeScript 里带的 tsc 命令差不多,主要的功能就是把 TypeScript 编译成 JavaScript 。不过这个 tsc-watch 多了一个监视功能,就是它可以检查一些文件的变化,有变化就会重新编译。

编译的时候用到了一个配置文件,tsconfig.build.json,后面还用了一个 --onSuccess 选项,编译成功,就会使用 node 运行一下编译好的在 dist 目录下面的 main.js 这个文件。这个文件是应用的入口文件。

下面可以简单试一下,打开 src,找到 app.service.ts ,修改一下它里面的 getHello 这个方法返回的字符串内容,换成 hello ~

保存一下文件,会重新编译 TypeScript,并且重新启动应用。 回到 Http 客户端,再请求一下 localhost:3000 。

这次返回的字符串是 hello ~

start

再回到项目,在 scripts 里面,还有一个 start 命令,这条命令用的是 ts-node 这个东西,直接运行了 src 目录下面的 main.ts。

node 不认识 TypeScript,但是这个 ts-node 认识 TypeScript,就是它可以直接运行没有被编译过的 TypeScript 代码。

用的这个 ts-node ,也已经放在了这个项目的 devDependencies 里面了,会作为这个项目的开发依赖。

一般我们在开发的时候最好使用 start:dev 这个命令,因为它实际上运行的是编译之后的应用,也就是以后正式要在生产环境上运行的应用。

运行开发服务(start:dev 与 start)《 Nest.js 应用案例:工作流 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点