Salak

Salak

  • 文档
  • 中文
    • English
  • GitHub

›基础功能

新手入门

  • 简介
  • 快速入门

基础功能

  • 目录结构
  • 内置对象
  • 配置
  • 中间件
  • 路由
  • Controller
  • Behavior
  • Service
  • 定时任务
  • 扩展
  • 插件
  • 日志
  • 接口文档
  • 启动自定义

进阶介绍

  • 视图
  • 数据库
  • 国际化
  • CURL
  • Loader

扩展功能

  • 多模块项目
  • Typescript

插件

框架提供了 扩展 功能,但只能在当前项目里面使用,如果需要提供给其他项目使用,可以封装成一个插件,发布成一个npm模块。

插件机制保证了框架核心足够精简、稳定和高效,也可以促进代码复用及生态形成。

框架内置的一些功能就是用插件的方式来实现的,如salak-curl、output。

如何编写插件

插件入口文件可以直接返回object,或者返回函数,参数为options、app。

// object
module.exports = {
  app: {},
  context: {},
  base: {}
}

// function
module.exports = (options, app) => {
  // do something
  return { // extend
    app: {},
    context: {},
    base: {}
  }
}

使用插件

插件通过npm安装

以 salak-mongo 为例。

$ npm install --save salak-mongo

插件需要在公共模块配置中开启,需要配置 plugin 字段。

module.exports = {
  plugin: [
    name: 'mongo',
    package: 'salak-mongo'
  ]
}

参数介绍

  • name:插件名称,用于配置插件属性
  • package:通过npm安装的模块,直接使用模块名称即可;如果是项目中编写的插件,通过require(pluginPath) 导入

插件配置

开启或关闭

  • enable:设置插件开启或关闭,默认为true,即开启,如果需要关闭,设置为false即可
module.exports = {
  mongo: {
    enable: false
  }
}

插件options

插件如果需要在初始化时需要传递配置,则在配置文件中编写即可。

module.exports = {
  mongo: {
    client: {
      uri: 'mongodb://localhost:27017/yourdb'
    }
  }
}
← 扩展日志 →
  • 如何编写插件
  • 使用插件
    • 插件通过npm安装
    • 插件配置
Salak
Docs
Getting StartedGuides
About
aotu.io
Copyright © 2019 凹凸实验室