第二章 Koa架构设计

1,023 阅读3分钟

Koa2 项目初始化

通常我们可以借助于脚手架,快速创建一个Koa2项目,当然也可以自己从头搭建;脚手架会帮我们提前搭好基本的架子;

快速生成Koa服务的脚手架工具 koa-generator

1、全局安装脚手架工具

cnpm install -g koa-generator
# or
yarn global add koa-generator

2、生成Koa项目

# koa2 项目名
koa2 manager-server

如果无法使用Koa2命令,则需要配置环境变量

3、安装依赖

npm install
# or
cnpm install
# or
yarn

4、启动服务

yarn start
# or
npm run start
# or
node ./bin/www
# or 自动更新 使用了 nodemon
npm run dev

5、浏览器中访问

# 默认地址
http://localhost:3000/

目录说明

|-- koa-server
    |-- bin
    |   |-- www            # 运行启动文件
    |-- public             # 公共资源
    |   |-- images
    |   |-- jsvascripts
    |   |-- stylesheets
    |   |   |-- style.css
    |-- routes
    |   |-- index.js       # 定义了 localhost:3000/ 之下的路由
    |   |-- users.js       # 定义了 localhost:3000/users/ 之下的路由 
    |-- views
    |   |-- error.pug
    |   |-- index.pug
    |   |-- layout.pug
    |-- app.js             # 根入口
    |-- package.json       # 项目依赖包文件
    |-- package-lock.json

使用 pm2 部署 Koa 项目,并实现启动、关闭、自动重启

1、全局安装

npm install -g pm2

2、启动项目

pm2 start ./bin/www

3、pm2自动重启

pm2 start ./bin/www --watch

4、访问

http://localhost:3000/

image.png

5、pm2相关命令(www是名称)

pm2 list             # 查看所有已启动的项目
pm2 start            # 启动
pm2 restart www      # 重启 
pm2 stop www         # 停止
pm2 delete www       # 删除

image.png

应用 log4js 进行日志规范封装

文档地址:www.npmjs.com/package/log…

安装

npm install log4js

使用

var log4js = require("log4js");
var logger = log4js.getLogger();
logger.level = "debug";      // 规定可以打印哪个级别以上的信息,比如这里是debug
logger.debug("Some debug messages");  // 打印某个级别的信息

参照下表(分级由低到高):
如果 logger.level = "info" ,就是展示info分级以上的
logger.debug('本条日志是debug等级,所以不会打印出来')

image.png

找到一篇讲的非常详细的文章: juejin.cn/post/684490…

MongoDB 环境搭建

看笔记

MongoDB 基础入门

概念

SQLMongo
表 Table集合 Collection
行 Row文档 Document
列 Col字段 Field
主键 Primaty Key对象ID ObjectId

数据库操作

说明操作
创建数据库use demo
查看数据库show dbs
删除数据库db.dropDatabase()

集合操作

说明操作
创建集合db.createCollection('集合名称')
查看集合show collections
删除集合db.集合名称.drop()

文档操作(数据操作)

说明操作
创建单条数据db.集合名称.insertOne({})
创建多条数据db.集合名称.insertMany({})
查看数据db.集合名称.find({})
删除单条数据db.集合名称.deleteOne()
删除多条数据db.集合名称.deleteMany()
更新数据db.集合名称.update({}, {}, false, true)

条件操作

说明操作
大于$gt
小于$lt
大于等于$gte
小于等于$lte

Robo 3T 可视化工具 初始化说明

1、下载安装成功后,打开后点击左上角的 create创建一个连接,给该连接起个名字,如:localhost, 使用默认地址 localhost 和 端口27017 即可,点击save保存。

image.png

2、点击保存后,就会在界面看到如下图所示

image.png

3、双击 localhost 连接到 MongoDB 并进入交互界面,我们可以看到我们本地数据库的表信息如下:

image.png

封装通用的工具函数

定义错误码、封装分页结构等