这段代码主要实现了以下功能:

  1. 从"node:fs"模块中引入readdirSyncmkdirSync方法,并从"node:path"模块中引入join方法。
  2. 从"./message.js"模块中引入setApp方法。
  3. 定义了一个名为getAllJsAndTsFilesSync的函数,用于递归获取指定目录下所有的.js.ts文件的绝对路径。
  4. 定义了一个名为createApps的异步函数,用于创建插件应用。
  5. createApps函数中,根据传入的参数AppNameDirName拼接出应用的文件路径filepath
  6. 使用mkdirSync方法创建文件夹,同时设置recursive参数为true,表示递归创建文件夹。
  7. 调用getAllJsAndTsFilesSync函数获取filepath下所有的.js.ts文件的绝对路径,并将结果保存在数组arr中。
  8. 使用for await...of循环遍历arr数组中的每个文件路径。
  9. 使用import语句动态导入文件路径对应的模块,并将导入的模块保存在变量dirObject中。
  10. 使用for...in循环遍历dirObject对象中的每个属性。
  11. 判断属性对应的值是否为一个类,如果是,则将该类添加到apps对象中。
  12. 如果发现apps对象中已经存在同名的类,则输出错误信息。
  13. 调用setApp方法,将AppNameapps对象作为参数,用于设置插件应用。
  14. 返回apps对象

原文地址: https://www.cveoy.top/t/topic/hEHV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录