• 运行开发服务器
  • 加载插件
  • 初始化目录
  • index.js 配置说明
  • server.js
    • 绑定钩子
    • 如何使用 YApi vendors/server 目录下的模块
    • controller 和 model
  • client.js
    • 绑定钩子(同后端 server.js )

    运行开发服务器

    1. npm install
    2. npm install -g ykit #依赖 ykit
    3. npm run dev #启动开发服务器

    加载插件

    在config.json plugins配置项,加入 demo 插件,

    1. {
    2. "port": "3000",
    3. "db": {
    4. "servername": "127.0.0.1",
    5. "DATABASE": "yapi"
    6. },
    7. ...
    8. "plugins": [{
    9. "name": "demo"
    10. "options": {}
    11. }]
    12. }

    初始化目录

    可参考 项目vendors/exts 目录下的插件

    在 vendors/node_modules 下新建 yapi-plugin-demo 目录和 npm init,最后生成的目录接口如下

    1. yapi-plugin-demo
    2. client.js //客户端入口文件
    3. server.js //服务端入口文件
    4. packjson.json //插件依赖管理
    5. index.js //插件配置文件

    index.js 配置说明

    1. server: true // 如果为true,表名该插件需要经过后端服务器加载
    2. client: true // 如果为true,表名该插件需要经过前端编译

    server.js

    在server.js 需要导出一个 function ,例如: module.exports = function(options){}

    options 可在 config.json 配置

    绑定钩子

    1. this.bindHook(hookname, listener) //绑定钩子
    2. hookname //钩子名
    3. listener //监听函数,可以是普通函数,也可以是 asyncFunction

    如何使用 YApi vendors/server 目录下的模块

    可以直接 require vendors 目录下的模块,注意:后端 node 不能使用 import关键字,只能使用 require
    例如: require(‘yapi’)

    controller 和 model

    新增 controller 需要继承 baseController(controller/base.js)

    新增 model 需要继承 baseModel(model/base.js)

    client.js

    绑定钩子(同后端 server.js )

    1. this.bindHook(hookname, listener) //绑定钩子
    2. hookname //钩子名
    3. listener //监听函数,可以是普通函数,也可以是 asyncFunction