浅谈Koa2框架

递归冰川
• 阅读 644

框架和库

什么是框架

前端框架一般指用于简化网页设计的框架,使用广泛的前端开发套件。

比如,jquery,extjs,bootstrap等等,这些框架封装了一些功能,比如html文档操作,漂亮的各种控件(按钮,表单等等),使用前端框架可以帮助快速地搭建网站。

框架是提供一套完整的解决方案,按照规定好的代码结构来做编排,使用前段框架可以降低界面开发周期和提高界面的美观性。

特点:

  • 封装原生代码的API
  • 规范流程和格式
  • 让开发人员更加关注于业务代码,提高开发效率

更多精彩内容,请微信搜索“前端爱好者戳我 查看

框架和库的区别

库(Libraries)是提供特定功能(如建立网络连接)的低级组件。

框架(Framework)是已知的编程环境,比如 Spring Boot。

库和软件框架都有助于应用程序的开发

区别:

  • 框架(frame)是唯一的【一个项目只能有一个框架】,库(lib)是可以共存的
  • 框架关注全流程,库关注单个功能

Koa2 是什么

浅谈Koa2框架

  • koa2 是 Node.js Web Server 框架
  • Koa2的安装和基本使用

Koa2框架介绍

Koa 是一个新的 web 框架,由 Express 幕后的原班人马打造, 致力于成为 web 应用和 API 开发领域中的一个更小、更富有表现力、更健壮的基石。

通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。

特点:

  • Koa2 是 Node.js Web Server 框架
  • 官网 http://koa.bootcss.com/
  • 通过 async/await 语法高效编写 Web Server
  • 中间件机制,能合理拆分业务代码

Koa2的安装

Koa 依赖 node v7.6.0 或 ES2015及更高版本和 async 方法支持.

你可以使用自己喜欢的版本管理器快速安装支持的 node 版本:

步骤:

  • 初始化 npm init -y
  • 安装 npm install kao2 --save
  • 简写 cnpm i koa2 -S

实例

const koa = require('koa')

const app = new koa()

//context 上下文
app.use(ctx => {
    ctx.body = 'Hello World!'
})

app.listen(3000)

app.listen(...)

Koa 应用程序不是 HTTP 服务器的1对1展现。 可以将一个或多个 Koa 应用程序安装在一起以形成具有单个HTTP服务器的更大应用程序。

创建并返回 HTTP 服务器,将给定的参数传递给 Server#listen()。这些内容都记录在 nodejs.org.

以下是一个无作用的 Koa 应用程序被绑定到 3000 端口:

const Koa = require('koa');
const app = new Koa();
app.listen(3000);

这里的 app.listen(...) 方法只是以下方法的语法糖:

const http = require('http');
const Koa = require('koa');
const app = new Koa();
http.createServer(app.callback()).listen(3000);

这意味着您可以将同一个应用程序同时作为 HTTP 和 HTTPS 或多个地址:

const http = require('http');
const https = require('https');
const Koa = require('koa');
const app = new Koa();
http.createServer(app.callback()).listen(3000);
https.createServer(app.callback()).listen(3001);

app.callback()

返回适用于 http.createServer() 方法的回调函数来处理请求。你也可以使用此回调函数将 koa 应用程序挂载到 Connect/Express 应用程序中。

app.use(function)

将给定的中间件方法添加到此应用程序。app.use() 返回 this, 因此可以链式表达.

app.use(someMiddleware)
app.use(someOtherMiddleware)
app.listen(3000)

使用脚手架搭建Koa应用程序

在做koa框架开发的时候,会发现在一个项目中咱们的目录结构是非常清晰的,第三方包,模板,路由都会被规范到对应的文件夹中,

但是在最后做项目的时候如果所有的文件和文件夹都需要自己创建,就会非常的麻烦,

这时候koa中给咱们提供了一个叫做脚手架的东西;

什么是脚手架呢

大家都知道盖房子的时候,特别是盖楼房的时候,都会需要先搭框架,这个框架呢,就被称为脚手架。

她的作用是什么呢?

就是能简单搭建出房子的结构,让后期我们盖房子的时候能够更加快捷方便。

那么koa中的脚手架也是这样的作用。

脚手架可以帮助我们快速搭建起项目的架构,能够让我们用更少的时间关注项目结构,而有更多的时间关注项目的逻辑。

koa2脚手架

koa-generator 脚手架可以帮我们快速搭建koa2框架的目录结构

使用步骤

  • 安装koa-generator
npm install -g koa-generator
  • 使用koa脚手架创建项目 server (项目名称可以自定义)
koa server

也可以

koa -e server

后面的servert表示项目的名称,(-e 代表使用模板引擎ejs)

此命令会自动生成koa2所需的文件以及创建app.js以及路由和静态文件等内容。

浅谈Koa2框架

koa2项目目录详解:

.
+-- bin
|   +-- www               // 项目启动必备文件,配置端口等服务信息
+-- node_modules          // 项目依赖,安装的所有模块都会在这个文件夹下
+-- public                // 存放静态文件,如样式、图片等
|   +-- images            // 图片
|   +-- javascript        // js文件
|   +-- stylesheets       // 样式文件
+-- routers               // 存放路由文件,如果前后端分离的话只用来书写api接口使用
|   +-- index.js
|   +-- user.js
+-- views                 // 存放存放模板文件,就是前端页面,如果后台只是提供api的话,这个就是备用
|   +-- error.pug
|   +-- index.pug
|   +-- layout.pug
+-- app.js                // 主入口文件
+-- package.json          // 存储项目名、描述、作者、依赖等等信息
+-- package-lock.json     // 存储项目依赖的版本信息,确保项目内的每个人安装的版本一致
  • 进入项目,安装所需依赖
cd server 
npm install
  • 启动项目
npm run dev

浅谈Koa2框架

完成到这里项目就可以跑起来了, 命令:

参考文档

浅谈Koa2框架

点赞
收藏
评论区
推荐文章
Alex799 Alex799
4年前
5款vue前端UI框架
Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue采用自底向上增量开发的设计。实用的Vue.js组件库可以帮助我们快速搭建页面,下面介绍小编认为比较受欢迎的五个vue前端ui框架。TOP5——VueBluVueBlu是基于Vuejs和Bulma开发的开源UI组件库。旨在为PC端的前端开发(特别是中后台产品)提供一个快速且灵
美凌格栋栋酱 美凌格栋栋酱
7个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
徐小夕 徐小夕
4年前
从零到一教你基于vue开发一个组件库
前言Vue是一套用于构建用户界面的渐进式框架,目前有越来越多的开发者在学习和使用.在笔者写完从0到1教你搭建前端团队的组件系统(https://juejin.im
Stella981 Stella981
3年前
Spring Boot(一):入门篇
一、什么是SpringBootSpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像Ma
Stella981 Stella981
3年前
Spring Cloud 详解(一)简介
SpringCloud并不是一个具体的框架,可以理解为一个工具集合。利用SpringCloud提供的各种工具,可以快速的搭建一个基于微服务的分布式系统。SpringCloud各个项目基于SpringBoot, Netflix的多个框架进行封装,并且通过自动配置的方式将这些框架绑定到Spring的环境中,从而简化了这些框架的使用。Spri
Stella981 Stella981
3年前
Angular7教程
1\.本节说明本节以及后面的内容我们将会通过搭建一个简单的博客程序来对angular进行介绍,项目使用前端框架是bootstrap.版本v3.3.7,另外需要安装jquery.关于bootstrap,jquery的安装方法第一篇中有讲解,不再赘述。本节内容由于搭建页面框架的关系,主要是bootstrap的内容,与angular关系不太
Stella981 Stella981
3年前
Spring Boot系列(二) Spring Boot 构建框架
什么SpringBoot?SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是springboot其实不是什么新的框架,它默认配置了很多框架的使用方式。环境
Stella981 Stella981
3年前
Django Bootstrap toolkit
背景bootstrap为前端的快速开发提供了一个很好的框架;Django则为后端的快速提供了全方位的支持,但是需要自己负责实现前端的视觉部分。一前一后两个框架正好可以结合构建一套完整的开发方案出来。常规的界面,可以在Django的模板中,直接使用bootstrap的组件、类等工具编写即可。涉及到需要进行表单处理的部分,尤其是涉及到诸如后台等不需要
递归冰川
递归冰川
Lv1
习惯了孤独之后,一个人就是全世界。
文章
5
粉丝
0
获赞
0