首页 > 解决方案 > Typescript 中的插件加载器

问题描述

我希望能够将用户生成的插件加载到我的 Typescript 应用程序中,就像在 java 或 php 中一样,我的想法是提供一个插件类,用户必须在他的插件中扩展以处理所有生命周期事件。在处理这个问题时,我在加载已编译的 js 文件时遇到了一些问题,因为该类不再正常工作,所以我认为我必须在执行之前重新编译整个代码?

我的想法:

readdirSync(process.cwd(), {withFileTypes: true}).filter(dirent => dirent.isDirectory()).map(dirent => {
   if (existsSync(`${process.cwd()}/${dirent.name}/plugin.js`)) {
      const plugin = require(`${process.cwd()}/${dirent.name}/plugin.js`);
      console.log(plugin instanceof Plugin); // false
   }
});

标签: javascripttypescriptplugins

解决方案


推荐阅读