Nobita一款基于koa2.0的node框架

原创 汤钧 教程 前端 121阅读 2018-12-13 16:51:38 举报

avatarNobita

avatar

介绍(v0.3.7)

Nobita 是一个基于Koa而诞生的一款框架。

快速初始化

启动项目

目录结构

目录结构约定:

  • app.js 项目入口
  • app/router.js 路由入口
  • app/router/** 子路由
  • app/router/api/** 前端接口路由
  • app/controller/** 对用户的请求参数进行处理
  • app/controller/api/** 前端接口的controller
  • app/service/** 调用第三方api
  • app/middleware/*.js 中间件
  • app/extend/helper.js 工具函数
  • app/extend/context.js ctx函数扩展
  • config/config.default.js 通用配置文件
  • config/config.local.js 开发通用配置文件
  • config/config.prod.js 线上通用配置文件
  • view/** 前端目录
  • logs/** 日志文件

内置对象

  • server: 调用第三方api
  • curl: http请求
  • helper: 工具函数
  • logger: 日志打印
  • db: mongo数据库操作
  • mysql: mysql数据库操作
  • redis: redis缓存操作
  • request: 获取到当前请求的 Request
  • nunjucks: 模板引擎
  • cache: 内部缓存

日志打印(log4js)

前端模板

模板语法基于nunjucks

http请求(axios)

详细文档

mongoose语法

名称说明
$or或关系
$nor或关系取反
$gt大于
$gte大于等于
$lt小于
$lte小于等于
$ne不等于
$in在多个值范围内
$nin不在多个值范围内
$all匹配数组中多个值
$regex正则,用于模糊查询
$size匹配数组大小
$maxDistance范围查询,距离(基于LBS)
$mod取模运算
$near邻域查询,查询附近的位置(基于LBS)
$exists字段是否存在
$elemMatch匹配内数组内的元素
$within范围查询(基于LBS)
$box范围查询,矩形范围(基于LBS)
$center范围醒询,圆形范围(基于LBS)
$centerSphere范围查询,球形范围(基于LBS)
$slice查询字段集合中的元素(比如从第几个之后,第N到第M个元素

find - [options]

  • limit (number): 默认为20。查询条数。
  • page (number): 默认为0。查询页码。
  • sort (object): 排序条件

update - [options]

  • safe (boolean): 默认为true。安全模式。
  • upsert (boolean): 默认为false。如果不存在则创建新记录。
  • multi (boolean): 默认为false。是否更新多个查询记录。
  • runValidators: 如果值为true,执行Validation验证。
  • setDefaultsOnInsert: 如果upsert选项为true,在新建时插入文档定义的默认值。
  • strict (boolean): 以strict模式进行更新。
  • overwrite (boolean): 默认为false。禁用update-only模式,允许覆盖记录。

详细文档

mysql

详细文档

session

cookies

  • [options]
  • maxAge 一个数字表示从 Date.now() 得到的毫秒数
  • signed cookie 签名值
  • expires cookie 过期的 Date
  • path cookie 路径, 默认是'/'
  • domain cookie 域名
  • secure 安全 cookie
  • httpOnly 服务器可访问 cookie, 默认是 true
  • overwrite 一个布尔值,表示是否覆盖以前设置的同名的 cookie (默认是 false). 如果是 true, 在同一个请求中设置相同名称的所有 Cookie(不管路径或域)是否在设置此Cookie 时从 Set-Cookie 标头中过滤掉。

redis缓存

详细文档

配置文件

端口监听

静态资源

中间件

xss开启

进程守护(pm2)

详细文档

热部署(nodemon)

详细文档

项目地址:https://github.com/iamtang/nobita

欢迎使用大家,多提意见和建议~~

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复