xboot
v0.5.3
Published
模块的启动引导加载
Downloads
3
Readme
xboot
nodejs下引导加载模块工具.用于在当前项目,项目的engine包(父级包)以及plugin包中加载匹配的模块文件.类似eggjs中的FileLoader
.
Install
npm install xboot
Usage
xboot支持命令行,以及在代码中使用两种方式
xboot默认从执行目录下的xboot.config.js
中,获取engine以及plugin的配置
// {cwd}/xboot.config.js
module.exports = {
engine:'server-blocks', //父engine包名称或包绝对路径
plugin:'plugin.js' //插件设置文件
// pluginConfig:'plugin.config.js', //插件内配置文件(可选)
// modes:['koa','grpc'] //匹配模式
};
xboot根据配置的plugin内容,来匹配的插件设置文件.根据插件设置文件,来选择加载模块文件时候,查找匹配的加载的插件包.
// {cwd}/plugin.js
exports.koa = {
package:'xkoa',
modes:['koa'] // 匹配模式
// dependencies:['xprovider'], // 依赖插件
// optionalDependencies:['xprovider'], // 可选依赖插件
// config::'plugin.config.js', //插件内配置文件(可选)
};
支持plugin包内通过配置文件定义插件依赖,以及匹配模式等属性
// {cwd}/node_modules/pluginA/plugin.js
module.exports = {
modes:['koa'] // 匹配模式
dependencies:['xprovider'], // 依赖插件
optionalDependencies:['xprovider'], // 可选依赖插件
};
命令行
使用xboot
加载引导模块文件
./node_modules/.bin/xboot
javascript
在代码中使用BootLoader
匹配加载模块
简单加载模块
const {BootLoader} = requre('xboot');
const patterns = 'module.js';
const opts = {};
const loader = new BootLoader(patterns, opts);
loader.forEach(() => {});
自定义模块加载后续处理
const {BootLoader} = requre('xboot');
const patterns = 'module.js';
const opts = {};
const loader = new BootLoader(patterns, opts);
for(item of loader){
const {path,module,cwd,filePath,plugin} = item;
// 功能逻辑处理
}
Documentations
使用jsdoc
生成注释文档
git clone https://github.com/kiba-zhao/xboot.git
cd xboot
npm install
npm run docs
open docs/index.html
n