回滚loader.js,bug: 此写法会导致部分插件写法不规范从而导致加载错误

This commit is contained in:
SmallK111407 2023-09-11 23:35:12 +08:00
parent 0f0d9085ff
commit ba3c12b1b0
1 changed files with 3 additions and 24 deletions

View File

@ -52,28 +52,10 @@ class PluginsLoader {
let pluCount = 0
let packageErr = []
for (let File of files)
{
let { name: appName, path: appPath } = File
for (let File of files) {
try {
let tmp = await import(File.path)
// 如果当前是一个插件
if (tmp.apps) {
// 插件主目录在这里this.watch里已经做了判断所以不用捕获异常
appName = `${appName}/apps`
// 插件路径
appPath = appPath.replace(/\/index\.js$/, "");
// 逐个遍历插件app里的js
for (let app in tmp.apps) {
// 插件目录的功能
const curPlugin = tmp.apps[app]
// 当前目录的功能名 (apps/hello.js)
const curAppName = curPlugin.name
// 监听插件
this.watch(appName, `${curAppName}.js`)
}
tmp = { ...tmp.apps }
}
if (tmp.apps) tmp = { ...tmp.apps }
let isAdd = false
lodash.forEach(tmp, (p, i) => {
if (!p.prototype) return
@ -87,7 +69,7 @@ class PluginsLoader {
this.collectTask(plugin.task)
this.priority.push({
class: p,
key: `${appName}/${p.name}.js`,
key: File.name,
name: plugin.name,
priority: plugin.priority
})
@ -791,9 +773,6 @@ class PluginsLoader {
if (this.priority[i].key == key) {
this.priority[i].class = p
this.priority[i].priority = plugin.priority
// 插件更新 (ps.如果不写无法更新插件只能更新example)
this.watcher[`${dirName}.${appName}`] = watcher
break;
}
}
})