插件
LIME 中插件是非常重要的一部分内容。LIME 实际上内核本身没有任何 Web 业务相关的功能(监听网络请求除外)。几乎所有的 Web 功能都需 要通过插件来实现。
介绍
TODO
理解插件目录
编写插件之前,我们先来了解下 LIME 插件的加载机制。在一个 LIME 项目中,项目目录通常是这样的:
|- config
|- plugin
|-index.js
|-plugin-static.js
|-src
|- app.js
其中 src 目录放置业务逻辑的源代码,而 plugin 目录就是放置插件。
插件声明
plugin/index.js
是插件的声明和 options
配置文件,只有在 index.js 中声明了的插件才会加载。一个典型的插件配置如下:
module.exports = function(config) {
return [
'plugin-global-logger',
{
name: 'plugin-logger',
options: {
proxy: true // 是否信任代理,信任的话则打印请求时会 X-Forwarded-Host 获取主机名,否则使用 host
}
},
'plugin-static',
'plugin-view',
'plugin-service',
{
name: 'plugin-redis',
options: {
}
}
];
};
数组中每一项是一个 String 或 Object 类型的插件声明,可以传入 String 格式的插件文件名或 npm 包名,也可以传入一个对象,对象包含一个 name 和 options 属性。
插件本质上就是一个 JavaScript 代码文件。
一个插件,就是一个js文件。
编写插件
TODO
常用插件
对于大部分常用功能,官方和社区都已经提供了对应的解决方案。我们这里列出这些常用的一些插件供你参考选择。
官方插件
- 文件上传
- 日志处理
- 静态资源
- SPA应用托管
社区插件
- TODO