UNPKG

mm_machine

Version:

这是超级美眉框架机制构建辅助模块,用于快速构建一个机制,支持动态加载、热更新、模块管理等功能,并具有增强的错误处理和现代JavaScript特性支持。

214 lines (195 loc) 6.3 kB
# 方法清单文档 ## 1. index.js - Index类方法 ### 构造函数 - **constructor(scope, dir_base)** - 初始化Index类实例 - `scope`: 作用域(同时作为检索的后缀名) - `dir_base`: 模块目录 ### 私有方法 - **_execute(module, method, params)** - 执行模块方法 - `module`: 模块对象 - `method`: 方法名称 - `params`: 参数数组 - 返回: Promise<any> - 执行结果 ### 公共方法 - **clear()** - 清除接口缓存 - **load(dir, cg, file)** - 加载项 - `dir`: 文件路径 - `cg`: 配置参数 - `file`: 配置文件 - 返回: Promise<Object|null> - 加载的驱动或配置对象 - **loads(list)** - 加载列表 - `list`: 文件列表 - 返回: Promise<void> - **sort()** - 排序接口列表 - **update_before(dir)** - 更新前钩子方法 - `dir`: 目录路径 - **update_after(dir)** - 更新后钩子方法 - `dir`: 目录路径 - **updateConfigAll(searchPath, accurate)** - 更新所有配置 - `searchPath`: 检索路径 - `accurate`: 精准路径标志 - 返回: Promise<void> - **updateConfigHave(dir)** - 更新已有配置文件 - `dir`: 目录路径 - 返回: Promise<void> - **updateConfig(dir, accurate, clear)** - 更新配置 - `dir`: 检索目录 - `accurate`: 精准路径标志 - `clear`: 是否清除现有配置 - 返回: Promise<void> - **update_script()** - 更新JS脚本 - 返回: Promise<void> - **update_main(dir, accurate, loadJS, clear)** - 更新主逻辑 - `dir`: 检索路径 - `accurate`: 精准路径标志 - `loadJS`: 是否加载JS - `clear`: 是否清除现有配置 - 返回: Promise<void> - **update(dir, accurate, loadJS, clear)** - 完整更新流程 - `dir`: 检索路径 - `accurate`: 精准路径标志 - `loadJS`: 是否加载JS - `clear`: 是否清除现有配置 - **get(name)** - 查询配置项 - `name`: 配置项名称 - 返回: Object|null - 配置项对象 - **set(name, cg)** - 设置配置项 - `name`: 配置项名称 - `cg`: 配置对象 - 返回: Boolean - 是否设置成功 - **save()** - 保存所有配置 - 返回: Boolean - 是否保存成功 - **add(config)** - 添加插件 - `config`: 配置对象 - 返回: Promise<Object|null> - 新添加的插件对象 - **del(name)** - 删除插件 - `name`: 插件名称 - 返回: Promise<Boolean> - 是否删除成功 - **load(name)** - 加载插件(重载版本) - `name`: 插件名称 - 返回: Promise<Object|null> - 加载的插件对象 - **unload(name)** - 卸载插件 - `name`: 插件名称 - 返回: Promise<Boolean> - 是否卸载成功 - **reload(name)** - 重新加载插件 - `name`: 插件名称 - 返回: Promise<Object|null> - 重新加载的插件对象 - **loadFile(file, create)** - 通过文件加载配置 - `file`: 文件名 - `create`: 不存在则创建标志 - 返回: Promise<Object|null|String> - 加载结果 - **run(name, method, ...params)** - 调用函数 - `name`: 模块名 - `method`: 函数名 - `params`: 参数集合 - 返回: Promise<any> - 执行结果 - **exec(name, method, ...params)** - 执行方法 - `name`: 插件名称 - `method`: 方法名称 - `params`: 参数集合 - 返回: Promise<any> - 执行结果 ### 属性 - **Drive** - 默认驱动类,指向Item类 ## 2. item.js - Item类方法 ### 构造函数 - **constructor(dir, dir_base)** - 初始化Item类实例 - `dir`: 当前目录 - `dir_base`: 模块目录 ### 私有方法 - **_remove(module)** - 移除模块 - `module`: 模块对象或路径 ### 公共方法 - **setConfig(config)** - 设置配置 - `config`: 配置对象 - **setConfig_after()** - 设置配置后钩子方法 - **newScript(file)** - 新建脚本文件 - `file`: 目标文件路径 - **unloadScript(file)** - 卸载脚本 - `file`: 脚本文件路径 - **reloadScript()** - 重新加载脚本 - **unload()** - 卸载钩子方法 - **unload_after(remove)** - 卸载之后处理 - `remove`: 是否删除文件 - **loadScript(file, name)** - 加载脚本 - `file`: 文件路径 - `name`: 函数名 - 返回: Object|null - 加载的模块对象 - **newConfig(file)** - 新建配置文件 - `file`: 目标文件路径 - **loadFile(file, name)** - 加载配置文件 - `file`: 文件路径 - `name`: 配置项名称 - 返回: Object|null - 配置对象 - **delDir()** - 删除目录 - **removeFile()** - 删除配置和脚本文件 - 返回: String|null - 错误消息 - **loadConfig(configData, name)** - 载入配置 - `configData`: 配置对象或配置路径 - `name`: 配置名称 - **load_before()** - 加载前处理 - **load()** - 加载处理 - **reload()** - 重载配置和脚本 - **save()** - 保存配置 - **main(...params)** - 主要执行函数 - `params`: 参数集合 - 返回: Promise<any> - 执行结果 - **run(...params)** - 运行主函数 - `params`: 参数集合 - 返回: Promise<any> - 执行结果 - **exec(method, ...params)** - 调用函数(核心执行方法) - `method`: 函数名 - `params`: 参数集合 - 返回: Promise<any> - 执行结果 ## 3. item.js - 全局方法 - **$.require(file, func)** - 增强require函数,支持热更新 - `file`: 文件路径 - `func`: 回调函数 - 返回: Object - 加载的模块 - **$.loadJson(file, func)** - 增强JSON加载函数,支持热更新 - `file`: 文件路径 - `func`: 回调函数 - 返回: Object - 解析的JSON对象 ## 方法命名规范检查 ### 符合规范的方法名(小驼峰) - clear - load - loads - sort - updateConfigAll - updateConfigHave - updateConfig - get - set - save - add - del - unload - reload - loadFile - run - exec - setConfig - newScript - unloadScript - reloadScript - loadScript - newConfig - loadFile - delDir - removeFile - loadConfig - main ### 符合规范的时态方法名 - update_before - update_after - setConfig_after - unload_after - load_before ### 需要注意的方法名 - **updateScript** - 已从update_script修改为符合小驼峰命名规范 - **update_main** - 保持不变,因为_main属于时态方法命名格式(main表示主逻辑) ## 重复方法名 在index.js中发现两个同名的load方法: 1. `load(dir, cg, file)` - 加载项 2. `load(name)` - 加载插件 建议重命名其中一个以避免混淆。