👩🏻🍳 环境准备
- node v16.3.2
- npm v8.1.2
- VSCode (这是IDE)
🔋 进度条 - - - - -
- 1、创建TS项目
- 2、支持 koa 和 koa-router
- 3、配置热更新 nodemon
- 4、支持 eslint 和 prettier
预安装
npm i typescript -g
npm i ts-node -g
👉🏻 Step 1 (创建项目)
mkdir node-web && cd ./node-web
npm init -y
tsc --init
之后创建 index.ts
文件,然后自行配置脚本就得了
👉🏻 Step 2(支持 koa 和 koa-router)
— — — — — — ❀ koa 部分 — — — — — — —
❀ 安装依赖包
npm i --save koa
npm i --save-dev @types/koa
❀ 编辑 index.ts
import Koa from 'koa'
const app = new Koa()
app.use( async (ctx: { body: string }) => {
ctx.body = 'hello koa2'
})
app.listen(3000, () => {
console.log('服务启动:http://127.0.0.1:3000')
})
❀ koa2 完成
post请求安装这个插件呗:koa-bodyparser
npm i koa-bodyparser @types/koa-bodyparser
如果ctx.request.body没值,那可能是use循序不对。
— — — — — — 🦌 koa-router 支持 — — — — — — —
🦌 安装依赖包
npm i --save koa-router
npm i --save-dev @types/koa-router
🦌 修改 index.ts 文件
import Koa from 'koa'
import KoaRouter from 'koa-router'
const app = new Koa()
const router = new KoaRouter()
router.get('/', async (ctx) => {
ctx.body = {
code: 0,
msg: '请求成功',
data: { name: 'zs', age: 18 }
}
})
// 使用路由,关于allowedMethods去官网看
app.use(router.routes())
app.use(router.allowedMethods())
app.listen(3000, () => {
console.log('服务启动:http://127.0.0.1:3000')
})
🦌 koa-router完成
tip: 项目目录结构可参考:koa分层设计
👉🏻 Step 4 (配置热更新)
使用工具 nodemon
来处理热更新
关于什么是 nodemon?
nodemon
是一个工具,通过在检测到目录中的文件更改时自动重新启动节点应用程序来帮助开发基于 node.js 的应用程序。
nodemon
不需要对您的代码或开发方法进行任何额外的更改。nodemon
是 node 的替代包装器。 要使用nodemon
,请在执行脚本时替换命令行中的单词 node。
使用ts-node启动
🔨 安装 nodemon
, 使用命令 npm install -g nodemon
🔨 修改 package.json 文件
{
...
"scripts": {
"start": "nodemon --ext ts,js --exec ts-node server/index.ts",
// 这 ts,js 文件 发生变化时启动更新
...
}
...
}
🔨 配置热更新完成
👉🏻 Step 5 (支持 eslint 和 prettier )
https://blog.csdn.net/weixin_43386443/article/details/126560581
额外的
ali-mysql-client
:处理mysql的包。https://github.com/liuhuisheng/ali-mysql-client