当前位置:网站首页>Koa的使用,搭建本地服务器(必会技能)
Koa的使用,搭建本地服务器(必会技能)
2022-08-11 05:17:00 【肖肖冲鸭】
- 新建一个服务器文件夹,和项目的文件夹最好是同级
- 在开发工具中导入(在这是HbuildX)

- 右键打开服务器(wangyiShop_server)的终端命令行,创建包管理文件(package.json),可以手动创建,也可以使用命令如下创建
node init -y
- 安装Koa ,Koa-router
npm install Koa Koa-router
搭建服务器,创建server.js,在服务器根目录下创建server.js文件
创建完的结构如下
现在基本结构搭建完毕,可以手动创建一个简易的服务器了,为了让server.js的结构更加清晰,把路由单独抽离成一个模块,所以需要在服务器根目录下再创建一个管理路由的router文件夹
需要提供给浏览器的数据放在根目录下的data文件夹中
现在的结构如下:
server.js
// 引入依赖包
const Koa=require('koa')
// 引入自定义模块
const router=require('./router/index')
// 1.生成应用实例
const app=new Koa()
// 3.声明使用中间件
app
.use(router.routes()) //声明使用路由
.use(router.allowedMethods()) //声明使用路由的方法
// 4.监听端口号
app.listen('3001',(err)=>{
if(err){
console.log(err)
return
}
console.log('服务器启动成功')
console.log('服务器地址:http://localhost:3001')
})
router–>index.js
const KoaRouter=require('koa-router')
// 2.生成路由器对象
const router=new KoaRouter()
// express:request response next
// koa ctx(request response),next
//测试接口
// router.get('/test',(ctx)=>{
// // 1.获取请求参数
// // 2.处理请求数据
// // 3.返回响应数据
// ctx.body='返回测试数据'
// })
// 注册index主页的接口
const indexData=require('../datas/index.json')
// console.log(indexData,typeof indexData) //Object
router.get('/getTndexData',(ctx)=>{
ctx.body=indexData
})
// 向外暴露路由器对象
module.exports=router
此时浏览器已经可以顺利请求到数据啦
- 优化一
因为服务器代码一改就需要重启服务器,可以使用热加载,安装nodemon,使用nodemon代替node启动(nodemon server.js)
node install nodemon
- 优化二
当别人拿到我们的项目的时候,很有可能不知道如何启动,所以这时,我们需要在package.json文件中配置script项设置默认启动命令(npm start)
"scripts": {
"start": "nodemon server.js"
},

配置完以后,我们可以使用 npm start 启动,这时命令行中会提示默认启动的命令,注:不一定是start,也可以是其他的,只不过使用start可以省略run (npm run start)在这可以使用(npm start)
边栏推荐
猜你喜欢

【win10+cuda7.5+cudnn6.0安装caffe⑥】报错及处理方式

看完这篇博客之后,含着泪学会了TCP/IP

05-Nodejs中的模块加载机制

QT GrabWindow截取屏幕

task05 PyTorch可视化

(2) Construction of a real-time performance monitoring platform (Grafana+Prometheus+Jmeter)

【CSDN21天学习挑战赛】第一天,配置环境外加实现mnist手写数字识别

一、Jmeter环境部署

Flask framework learning: template rendering and Get, Post requests

【翻译】博客游戏项目Q1K3 – 制作
随机推荐
博客帮助文档
08-JS对象、原型及原型链
【C语言进阶】第一篇深度剖析整数数据在内存中的存储(一)
vscode插件
手推卷积神经网络参数(卷积核)求导
gradle-wrapper.jar description
自制病毒——整蛊
吃瓜教程task04 第5章 神经网络
(3) How Redis performs stress testing
【无标题】
[转载]Verilog testbench总结
【win10+cuda7.5+cudnn6.0安装caffe⑥】报错及处理方式
【网站小白】mySQL数据库异常断开
C语言版通讯录——动态存储(进阶版)
Install different versions of MinGW (g++/gcc) and the configuration of the corresponding clion editor under Win
C语言——逆序输出字符串的函数实现
CSDN 社区内容创作规范
C语言学习记录--变量基本类型和内存大小
第5章 循环和关系表达式
程序员小白的自我救赎之路。