koa 路由模块化(一)
1.项目目录

2.入口文件
根目录/app.js
/**
* koa 路由模块化
*/
const Koa = require('koa');
const router = require('koa-router')();
// 引入子模块(子路由)
const admin = require('./routes/admin.js');
const api = require('./routes/api.js'); // 实例化
var app = new Koa(); // 配置路由
router.get('/', (ctx) => {
ctx.body = '这是一个首页';
}) /**
* /admin 配置子路由(层级路由)
* /admin/user
*/
router.use('/admin', admin.routes()); /**
* /api/newslist 新闻列表的api
*/
router.use('/api', api); /*在模块里面暴露路由并且启动路由*/ // 启动路由
app.use(router.routes()).use(router.allowedMethods()) app.listen(8008);
3.层级路由
根目录/routes/admin.js
const router = require('koa-router')();
router.get('/', (ctx) => {
ctx.body = '后台管理系统首页';
})
router.get('/user', (ctx) => {
ctx.body = '用户管理';
})
router.get('/focus', (ctx) => {
ctx.body = '轮播图管理';
})
router.get('/news', (ctx) => {
ctx.body = '新闻管理';
})
module.exports = router;
根目录/routes/api.js
const router = require('koa-router')();
router.get('/', (ctx) => {
ctx.body = {
"title": "这是一个api"
}
})
router.get('/newslist', (ctx) => {
ctx.body = {
"title": "这是一个新闻接口"
}
})
router.get('/focus', (ctx) => {
ctx.body = {
"title": "这是一个轮播图的api"
}
})
module.exports = router.routes();
.
koa 路由模块化(一)的更多相关文章
- koa 路由、视图模块化(二)
1.项目目录 2.路由 根目录/routes/index.js -- 首页 const router = require('koa-router')(); router.get('/', async ...
- koa 路由配置
Koa 路由 路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET.POST 等) 组成的,涉及到应用如何响应客户端对某个网站节点的访问. 通俗的讲:路由就是根据不 ...
- react中的路由模块化
在vue中,可以将路由单独写在一个配置文件中,便于整理维护,而在前面总结整理的react中,都是直接将路由配置放在需要使用的地方,少数的时候话可以接受,但是当项目做大,这种方式就不再被推荐了,我们再r ...
- 用Decorator控制Koa路由
在Spring中Controller长这样 @Controller public class HelloController{ @RequestMapping("/hello") ...
- 十八、React react-router4.x中:实现路由模块化、以及嵌套路由父子组件传值
一.路由模块化(用字典定义路由,然后循环出来) 1.官方文档参考 [官方文档]https://reacttraining.com/react-router/web/guides/quick-start ...
- Vue路由模块化的实现方法
分享一个Vue路由模块化方法,简单实用,好用到飞起 路由模块化 1.router/index.js 配置路由 import Vue from 'vue' import VueRouter from ' ...
- koa 搭建模块化路由/层级路由
搭建node项目目录以及基本的文件 初始化package.json文件 执行下面命令生成package.json文件 npm init --yes 创建项目目录 创建路由目录routes,存放静态资源 ...
- 注册页面Page的内置属性以及函数 路由 模块化
Page.prototype.route route字段可以获取到当前页面的路径 Page.prototype.setData() setData函数用于将数据从逻辑层发送到视图层,同时改变对应的t ...
- Vue 路由模块化配置
博客地址:https://ainyi.com/77 企业运营后台页面很多,路由如若不区分模块化配置,所有路由挤在同一个文件将不好维护,所以路由的配置也要模块化 分享两个解决方案 -- Vue 路由配置 ...
随机推荐
- 第二十六篇 jQuery 学习8 遍历-父亲兄弟子孙元素
jQuery 学习8 遍历-父亲兄弟子孙元素 jQuery遍历,可以理解为“移动”,使用“移动”还获取其他的元素. 什么意思呢?老师举一个例子: 班上30位同学,我是新来负责教这个班学生的老师 ...
- java_day07_异常
第七章: 异常 1.异常概述 在我们日常生活中,有时会出现各种各样的异常,例如:职工小王开车去上班,在正常情况下,小王会准时到达单位.但是天有不测风云,在小王去上班时,可能会遇到一些异常情况,比如小王 ...
- scroll js 原生
1.当前位置滚动: document.documentElement.scrollTop 当前位置: 有可能是0 window.scrollTo(,document.documentElement.s ...
- 电子工程师需要了解的SMT贴片质量问题汇总(转)
点胶工艺中常见的缺陷与解决方法 拉丝/拖尾 拉丝/拖尾是点胶中常见的缺陷,产生的原因常见有胶嘴内径太小.点胶压力太高.胶嘴离PCB的间距太大.贴片胶过期或品质不好.贴片胶粘度太好.从冰箱中取出后未能恢 ...
- zencart更改css按钮的宽度css buttons
includes\functions\html_output.php 大概323行的zenCssButton函数 function zenCssButton($image = '', $text, $ ...
- Zabbix Agent 安装指南和 Zabbix Server 设置自动发现
Zabbix Agent分为两种模式,被动模式(Passive)和主动模式( 我们实验在node1.yulongjun.com 和node2.yulongjun.com上分别配置Zabbix Agen ...
- C语言构建小型Web服务器
#include <stdio.h> #include <sys/socket.h> #include <stdlib.h> #include <string ...
- 卸载python
# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps # whereis python|xargs rm -frv
- CentOS 7 下Emacs无法录入中文的问题
Emacs下的各种快捷键操作,实在是太方便了,像毒药一样让人上瘾! 问题描述: 最近重装了系统以及各种软件,但是碰到一个奇怪的问题,安装了极点五笔中文输入法,系统语言也设置为中文,结果在vim.ged ...
- JavaStript基础 —— JavaStript语法
JavaStript 简介 JavaScript诞生于 1995年.当然,它的主要目的是处理以前由服务器端语言负责的一些输入验证操作. 如今,JavaStript的用途早就不再局限于简单的数据验证,而 ...