文档章节

基于koajs的web项目构建-入门篇

唯慕清风
 唯慕清风
发布于 2016/09/20 09:23
字数 514
阅读 76
收藏 0
Koa

对 koajs 的学习已经持续一段时间,对于"用"这一层面基本掌握。学习之后,总是希望能实际的应用到项目之中。贸然给现有项目大换血是不现实的,姑且先拟一个小项目付诸实践。

在尝试使用 koajs 时,我依旧采用严格的 MVC 模式。M 做为数据模型层,主要负责业务数据的管理和操作,来源于数据库操作或者api调用。V 做为视图层,主要负责站点前台的展示。C 做为业务控制层,主要负责对站点业务流程的处理。基于这样的思路,首先建立起项目的基本目录结构:

+ configs(项目配置文件目录)
++ build(项目编译相关配置) *

+ controllers(项目业务控制代码目录)

+ kits(常用工具包)

+ middlewares(项目中间件)

+ models(业务数据对象,可以是操作数据库,可以是来源于调用api)

+ public(静态资源目录)
++ src(项目静态资源源文件)
++ publish(项目静态资源发布文件,发布自动生成)

+ routers(路由配置文件目录)

+ test(项目相关测试文件)

+ views(项目视图目录)
++ dev(开发视图文件)
++ pro(发布视图文件,发布自动生成)

+ app.js(项目入口)

注:项目目录是让写程序和看程序的人能一眼了解项目结构,我且主观的认为这样的结构是能让看到的人一目了然

对于以中间件为一级公民的koajs,在使用中我主要使用以下几个关键技术:

注:条条大路通罗马,所谓的技术选择全然是个人的爱好

剔除业务相关的功能,我将此项目的架子抽了出来,命名为koa-skeleton,意为骨架,希望供大家参考一二,项目地址: koa-skeleton

© 著作权归作者所有

唯慕清风
粉丝 2
博文 17
码字总数 6867
作品 0
成都
前端工程师
私信 提问
基于koajs的web项目构建-心得篇

根据 基于koajs的web项目构建-入门篇 所描述的,建立了项目的基本目录结构,接下来的工作便是编码,编译,测试,发布。做为这些工作,每一项工作都有自己的学问,针对这三项工作的技巧分析文...

唯慕清风
2016/09/20
50
0
koa+mysql+vue+socket.io全栈开发之web api篇

目标是建立一个 web QQ的项目,使用的技术栈如下: 后端是基于koa2 的 web api 服务层,提供curd操作的http接口,登录验证使用的是 json web token,跨域方案使用的是 cors; 数据库使用的是...

Jeff.Zhong
04/09
0
0
TypeScript 3 + Koajs + Node.js

转发 TypeScript 3 + Koajs + Node.js 自NodeJS早期以来,Express一直是NodeJS开发人员事实上的标准Web框架。 但是,JavaScript在过去几年中已经走过了漫长的道路,像promises和async函数这样...

durban
2018/09/18
74
0
【Python Web学习路线】干货整理,不谈虚的,让你短时间高效学好它!

无论是大数据、人工智能还是机器学习,Python都是最热门的首选语言。 学好Python,可以从事Python Web工程师、Python数据分析、人工智能专家等岗位。本期专题,分享的主题是“如何成为一枚优...

Eddie_yang
2018/12/24
747
0
Koa.js 设计模式-学习笔记

前言 之前写过一本《Koa2进阶学习笔记》作为Koa的入门教程。很多知识点都是一笔带过,没有深入的讲解。这一本书是通过Koa.js的常用中间件实现原理,举一反三来讲解一些Node.js在Web开发过程中...

大灰狼的小绵羊哥哥
2018/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Knowage 6.2安装部署

注意:需要正确配置JAVA_HOME和JRE_HOME还有catalina_home,否则启动的时候tomcat一闪而过,想要获得报错信息,可以打开cmd,在dos命令行运行开始命令 官网:https://www.knowage-suite.com/s...

阿伦哥-
8分钟前
3
0
c++11 左值引用和右值引用

#include <iostream>using namespace std;void Print(string& s){ cout << s;}int main(){ string s="abc"; Print(s); // OK Print("abc"); // parse error......

SibylY
10分钟前
3
0
浅谈Facade外观模式

一、前言 外观模式是一种非常简单的模式,简单到我们经常都会使用,比如对于类A和B,如果两者需要交互,经过一定的处理过程才能实现某一个具体的功能,那么我们可以将这个处理的过程定义为一...

青衣霓裳
11分钟前
3
0
AnalyticDB for PostgreSQL 6.0 新特性介绍

阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务ACID。ADB PG通过行存储、列存...

Mr_zebra
12分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部