koa框架学习记录(5)

简介: 一个前端学习koa的简单记录

Koa2原生路由实现
实现原生路由,需要得到地址栏输入的路径,然后根据路径的不同进行跳转。用ctx.request.url就可以实现

const Koa = require('koa')
const app = new Koa()
 
app.use( async ( ctx ) => {
  let url = ctx.request.url
  ctx.body = url
})
app.listen(3000)

原生路由的实现需要引入fs模块来读取文件。然后再根据路由的路径去读取,最后返回给页面,进行渲染

const Koa = require('koa');
const fs = require('fs');
const app = new Koa();
 
function render(page){
   
   
        return  new Promise((resolve,reject)=>{
            let pageUrl = `./page/${page}`;
            fs.readFile(pageUrl,"binary",(err,data)=>{
                console.log(444);
                if(err){
                    reject(err)
                }else{
                    
                    resolve(data);
                }
            })
        })
    
}
 
async function route(url){
    
    let page = '404.html';
    switch(url){
        case '/':
            
            page ='index.html';
            break;
        case '/index':
            page ='index.html';
            break;
        case '/todo':
            page = 'todo.html';
            break;
        case '/404':
            page = '404.html';
            break;
        default:
            break; 
    }
    let html = await render(page);
    
    return html;
}
 
app.use(async(ctx)=>{
    let url = ctx.request.url;
    let html = await route(url);
    
    ctx.body=html;
})
app.listen(3000);
console.log('starting at 3000');
相关文章
|
6月前
|
开发框架 小程序 JavaScript
基于mpvue框架的小程序项目搭建入门教程一
基于mpvue框架的小程序项目搭建入门教程一
114 0
|
7月前
|
JavaScript 前端开发 API
Vue.js入门指南:从基础到进阶,掌握现代JavaScript框架的核心概念与高级特性(2W字小白教程)
Vue.js入门指南:从基础到进阶,掌握现代JavaScript框架的核心概念与高级特性(2W字小白教程)
70 0
|
11月前
|
资源调度 前端开发 JavaScript
Axios 请求库入门教程:从零开始学习
Axios 是一个流行的基于 Promise 的 HTTP 请求库,用于在浏览器和 Node.js 中进行 HTTP 请求。
Axios 请求库入门教程:从零开始学习
|
JavaScript 前端开发 Java
「后端小伙伴来学前端了」分析Vue脚手架结构
「后端小伙伴来学前端了」分析Vue脚手架结构
130 0
「后端小伙伴来学前端了」分析Vue脚手架结构
|
JavaScript 前端开发 中间件
koa框架学习记录(6)
一个前端学习koa的简单记录
|
前端开发 中间件
koa框架学习记录(4)
一个前端学习koa的简单记录
|
JavaScript 前端开发
koa框架学习记录(1)
一个前端学习koa的简单记录
|
前端开发 JavaScript 中间件
koa框架学习记录(8)
一个前端学习koa的简单记录
|
前端开发
koa框架学习记录(2)
一个前端学习koa的简单记录
|
前端开发 JavaScript 中间件
koa框架学习记录(9)
一个前端学习koa的简单记录