[YF-FPM-SERVER] 2.3.0版更新概要

框架设计之初为了提供一个相对标准的api入口,节约项目开发的前后端沟通成本,前端可以通过已实现好的sdk库可以很方便的与后端进行数据交互.

yf-fpm-server 框架一直在做的就是: - 如果你是个人,小规模,实力不强,但可以使用nodejs,想做一个规模不是很大的项目,这个框架就很适合你(们)。它是个能将项目从初期到中后期过度的很好的框架。当然,我们是实践了若干的商业项目之后才会如此力荐的。 - 充分结合nodejs的特性和koa框架的简洁,不断的精简和优化代码 - 最终的依赖: javascript "koa": "^2.0.0", "koa-bodyparser": "^3.2.0", "koa-router": "^7.1.0", "koa2-cors": "^2.0.3", "lodash": "^4.16.1", "pubsub-js": "^1.5.5" - 一些变动的api - extendModule(name, module, version) 该函数多用于开发插件的过程中很快的注入业务函数 - getPlugins() 获取已安装的插件信息 - isPluginInstalled(name) 检测是否已安装了某个插件 - _counter 该字段用于记录api被调用的次数 - _prject_info 该字段包含了项目的package.json信息 - _start_time 该字段记录了项目启动的时间戳 通过 _.now() 生成


WARNING:这里有一些重要的变化,对于所有的业务函数增加了2个参数

  /*
  * args: 前端传来的业务参数
  * ctx: koa 的上下文
  * before: 前置钩子函数执行的结果,通过是个 Array 
  */
  (args, ctx, before) => { //.. }

再此之前是没有后面2个参数的

  (args) => { //.. }

需要注意的是,一些通过插件调用了系统的fpm.execute()函数,通常没有ctx参数,所以需要做个谨慎的非空判断


除此之外,还有一些插件正在开发过程中,比如用于后台查看的 fpm-plugin-admin,方便用户直观的查看系统运行的状态。