node.js 学习 -- koa

简介: 安装 Koa 框架

一、搭建项目


1. 安装 Koa 框架

yarn add koa

2. 引入

const Koa = require("koa");
const app = new Koa();


3. 配置中间件

// ctx 所有http的上下文
// 配置中间件
app.use((ctx, next) => {
  ctx.body = "hello api";
});


4. 监听端口

app.listen(3000, () => {
  console.log("Server on 3000");
});

二、项目基本优化


1. 配置文件

安装 dotenv 包


yarn add dotenv


创建 .env 文件


APP_PORT = 8000


在当前目录下创建 config 文件夹,用来保存配置文件,并添加config.default.js


const dotenv = require("dotenv")
dotenv.config()
// 暴露
module.exports = process.env


改写 主进程内容


// 引包
const Koa = require("koa");
const app = new Koa();
// env
const { APP_PORT } = require("./config/config.default");
// ctx 所有http的上下文
// 配置中间件
app.use((ctx, next) => {
  ctx.body = "hello api";
});
app.listen(APP_PORT, () => {
  console.log("Server on 3000");
});


三、添加路由(处理不同的url请求)


路由:根据不同的 URL,调用对应处理函数


1. 安装 koa-router

yarn add koa-router


koa-router 官方文档


步骤:


导入包

实例化对象

编写路由

注册中间件


2. 导入包


const Router = require("koa-router")


3. 实例化对象


const indexRouter = new Router()


4. 编写路由


indexRouter.get('/',(ctx,next)=>{    ctx.body = "hello index"})


5. 注册中间件

app.use(indexRouter.routes())


这里需要特别注意的是,配置中间件的时候需要调用 routes 方法,不能直接传入对象


app.use(indexRouter) // 错误




会报错


四、处理路由文件


如果我们要将全部的路由文件写在 main.js 文件中,会造成代码的混乱,这一点在 express 中也遇到了,我们可以将路由请求放在一个单独的文件夹中router,分别处理不同场景的路由


1. 引入包

例如我们需要一个专门处理用户路由的文件 user.route.js ,这个文件专门处理用户路由


同时一个很重要的点:我们可以给 Router 构造函数传递一个对象{prefix: "/users"} ,用来配置请求的前缀

const router = new Router({ prefix: "/users" });


这样配置后,当我们请求 /路径时,实际上请求的是 /users/


2. 编写路由

我们在 user.route.js 中编写路由

const Router = require("koa-router");const router = new Router({ prefix: "/users" });router.get("/", (ctx, next) => {  ctx.body = " hello users";});


并暴露出 router

module.exports = router;


3. 改写 main.js

将暴露的 router 引入 main.js 中,引入中间件即可

// 引包const Koa = require("koa");const app = new Koa();// envconst { APP_PORT } = require("./config/config.default"



相关文章
|
5月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
5月前
|
前端开发
个人征信PDF无痕修改软件,个人征信模板可编辑,个人征信报告p图神器【js+html+css仅供学习用途】
这是一款信用知识学习系统,旨在帮助用户了解征信基本概念、信用评分计算原理及信用行为影响。系统通过模拟数据生成信用报告,涵盖还款记录
|
JavaScript 前端开发 开发者
VUE 开发——Node.js学习(一)
VUE 开发——Node.js学习(一)
250 2
|
6月前
|
JavaScript 数据可视化 前端开发
three.js简单实现一个3D三角函数学习理解
1.Three.js简介 Three.js是一个基于JavaScript编写的开源3D图形库,利用WebGL技术在网页上渲染3D图形。它提供了许多高级功能,如几何体、纹理、光照、阴影等,以便开发者能够快速地创建复杂且逼真的3D场景。同时,Three.js还具有很好的跨平台和跨浏览器兼容性,让用户无需安装任何插件就可以在现代浏览器上观看3D内容。
218 0
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
122 4
js学习--制作猜数字
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
217 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
12月前
|
Web App开发 JavaScript 前端开发
如何学习JavaScript?
如何学习JavaScript?
239 5
|
12月前
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
131 2
|
12月前
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
161 1