浅谈Koa2框架

框架和库

什么是框架

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

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

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

特点:

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

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

框架和库的区别

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

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

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

区别:

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

Koa2 是什么

浅谈Koa2框架_第1张图片

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

Koa2框架介绍

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

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

特点:

  • Koa2 是 Node.js Web Server 框架
  • 官网 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框架_第2张图片

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框架_第3张图片

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

参考文档

  • koa.bootcss.com/index.html
  • mp.weixin.qq.com/s?__biz=MzI…
  • www.cnblogs.com/ranyihang/p…


链接:https://juejin.cn/post/7234107489389674557
 

你可能感兴趣的:(node.js)