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 路由配置 ...
随机推荐
- 【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞
0x01漏洞描述 Discuz!X全版本存在SQL注入漏洞.漏洞产生的原因是source\admincp\admincp_setting.php在处理$settingnew['uc']['appid' ...
- centos8/redhat8 无法上网,通过启动systemctl start NetworkManger搞定
在systemd里面,可以直接使用systemctl进行管理 启动:systemctl start NetworkManger 关闭:systemctl stop NetworkManager 开机启 ...
- Django框架——forms.ModelForm使用
使用模型创建表单 django提供了这种简便的方式,使用方法如下: 1.在项目的一个app目录中,创建forms.py文件 2.导入模块: from django import forms from ...
- 【wifi移植 1】 ap6210 wifi模块移植
1. 编译wifi相关功能为模块,生成bcmdhd.ko:由bcmdhd.ko的模块信息可知,该模块依赖于cfg80211.ko和rfkill.ko. 2. 写脚本,开机自动加载wifi模块. 3. ...
- JDBC的两种sql命令发送器比较【Statement:PreparedStatement】
PreparedStatement 接口继承 Statement接口如果需要多次执行一个SQL语句,可以使用PreparedStatement对象.在创建PreparedStatement对象时,通过 ...
- nginx的反向代理的优势,特点于原理(一)
说到反向代理,首先先说一下反向代理的概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端的连接请求,然后将请求转发给网络上的web服务器(可能是apache,nginx,tom ...
- sql 查询重复记录值取一条
SELECT * FROM JBL_WebLog WHERE JBL_WebLog_PID IN ( --根据userName分类获取数据最小ID列表 SELECT MIN(JBL_WebLog_PI ...
- BZOJ 1001 平面图转对偶图
原图的面转成点,原图的边依旧边,只是连接的是两个面. 对偶图的点数=原图的面数 对偶图的边数=原图的边数(如果原边只属于一个面,则它为环边) #include<bits/stdc++.h> ...
- for(auto count:counts)
c++中for(auto count : counts) 这是C++11中的语法,即:Range-based for loop.其中counts应满足:begin(counts), end(count ...
- 重装maven
重装原因:换旧版本! 一.直接删除maven文件夹 二.直接删除本地仓库文件 三.删除之前相关的项目(不是必须) 四.下载一个新的,网址 https://maven.apache.org/downlo ...