如何解决使用nodejs+koa+typescript集成和自动重启的问题
这篇文章主要为大家展示了“如何解决使用nodejs+koa+typescript集成和自动重启的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决使用nodejs+koa+typescript集成和自动重启的问题”这篇文章吧。
版本说明
Node.js: 16.13.1
创建项目
创建如下目录结构
project├── class="lazy" data-src│ └── server.ts├── package.json└── tsconfig.json
package.json
可以使用 yarn init -y
生成tsconfig.json
可以使用 tsc --init
生成(需要全局或在项目中安装 typescript
包才可以使用 tsc
命令)
安装依赖
注意:
@tsconfig/node16
包需要根据Node.js
的版本变化,我电脑上安装的是16.x.x
的版本,所以用的是@tsconfig/node16
,具体看 tsconfig/bases 中的说明,当然也可以完全不用安装这个包,这个包优点是公用性和主流推荐配置typescript
如果已经全局安装过了,就从下面的命令中移除它concurrently 是一个并发执行多个命令的工具包
nodemon 是一个监听文件变化自动重启程序的工具包
yarn add koayarn add typescript @tsconfig/node16 @types/node @types/koa concurrently nodemon -D
填充内容
class="lazy" data-src/server.ts
import Koa from 'koa';const server: Koa = new Koa();const port: number = 3000;server.use((ctx: Koa.DefaultContext) => { ctx.body = 'hi koa';});server.listen(port, () => { console.log(`Node.js v${process.versions.node}`);});
tsconfig.json
注意:extends
字段的值根据你安装的包名 @tsconfig/node**
替换
{ "extends": "@tsconfig/node16/tsconfig.json", "compilerOptions": { "baseUrl": ".", "rootDir": "class="lazy" data-src", "outDir": "dist", "noImplicitAny": true, }, "include": [ "class="lazy" data-src*" ]}
package.json
"scripts": { "build-ts": "tsc", "build": "yarn build-ts", "debug": "yarn build && yarn watch-debug", "serve-debug": "nodemon --inspect dist/server.js", "serve": "node dist/server.js", "start": "yarn serve", "watch-debug": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:serve-debug\"", "watch-node": "nodemon dist/server.js", "watch-ts": "tsc -w", "watch": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:watch-node\""}
运行
我们的所有源码在 class="lazy" data-src
目录下,tsc
编译后的 js
文件在 dist
目录下,这是在 tsconfig.json
文件中指定的路径
本地开发:如果没有 dist
目录需要先执行 yarn build
去编译生成,然后再执行 yarn watch
部署生产:顺序执行 yarn build
、yarn serve
或 yarn start
(serve 和 start 是相同的命令)
以上是“如何解决使用nodejs+koa+typescript集成和自动重启的问题”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341