耀极客论坛

 找回密码
 立即注册
查看: 408|回复: 0

使用nodejs + koa + typescript 集成和自动重启的问题

[复制链接]

336

主题

318

帖子

22万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
220553
发表于 2022-5-8 01:45:41 | 显示全部楼层 |阅读模式
  这篇文章主要介绍了nodejs + koa + typescript 集成和自动重启,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

版本说明
  Node.js: 16.13.1

创建项目
  创建如下目录结构
  1. project
  2. ├── src
  3. │   └── server.ts
  4. ├── package.json
  5. └── 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 是一个监听文件变化自动重启程序的工具包
  1. yarn add koa
  2. yarn add typescript @tsconfig/node16 @types/node @types/koa concurrently nodemon -D
复制代码
填充内容

src/server.ts
  1. import Koa from 'koa';
  2. const server: Koa = new Koa();
  3. const port: number = 3000;
  4. server.use((ctx: Koa.DefaultContext) => {
  5.     ctx.body = 'hi koa';
  6. });
  7. server.listen(port, () => {
  8.     console.log(`Node.js v${process.versions.node}`);
  9. });
复制代码
tsconfig.json
  注意:extends 字段的值根据你安装的包名 @tsconfig/node** 替换
  1. {
  2.   "extends": "@tsconfig/node16/tsconfig.json",
  3.   "compilerOptions": {
  4.     "baseUrl": ".",
  5.     "rootDir": "src",
  6.     "outDir": "dist",
  7.     "noImplicitAny": true,
  8.   },
  9.   "include": [
  10.     "src/**/*"
  11.   ]
  12. }
复制代码
package.json
  1. "scripts": {
  2.   "build-ts": "tsc",
  3.   "build": "yarn build-ts",
  4.   "debug": "yarn build && yarn watch-debug",
  5.   "serve-debug": "nodemon --inspect dist/server.js",
  6.   "serve": "node dist/server.js",
  7.   "start": "yarn serve",
  8.   "watch-debug": "concurrently -k -p "[{name}]" -n "TypeScript,Node" -c "yellow.bold,cyan.bold,green.bold" "npm:watch-ts" "npm:serve-debug"",
  9.   "watch-node": "nodemon dist/server.js",
  10.   "watch-ts": "tsc -w",
  11.   "watch": "concurrently -k -p "[{name}]" -n "TypeScript,Node" -c "yellow.bold,cyan.bold,green.bold" "npm:watch-ts" "npm:watch-node""
  12. }
复制代码
运行
  我们的所有源码在 src 目录下,tsc 编译后的 js 文件在 dist 目录下,这是在 tsconfig.json 文件中指定的路径
  本地开发:如果没有 dist 目录需要先执行 yarn build 去编译生成,然后再执行 yarn watch
  部署生产:顺序执行 yarn build、yarn serve 或 yarn start(serve 和 start 是相同的命令)

参考资料
  microsoft/TypeScript-Node-Starter
  到此这篇关于nodejs + koa + typescript 集成和自动重启的文章就介绍到这了,更多相关nodejs  koa  typescript内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|耀极客论坛 ( 粤ICP备2022052845号-2 )|网站地图

GMT+8, 2022-11-28 18:50 , Processed in 0.068612 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表