javascript - 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
}
});
解决方案
推荐阅读
- python - 文件描述符通过 DBus 传递给 python 客户端
- algorithm - 如何使用 ANSI X9.8 加密银行帐号
- css - 我不知道为什么我的刻度在手机上是灰色的
- jsf - 我如何选择 SelectOneMenu 中默认显示的值
- firebase - 动态链接 Firebase
- asp.net-core - 如何使用 ILogger 在我的 ASP.NET Core 应用程序的 nuget 包中记录 serilog 发出的消息
- vue.js - vue.js 路由器 NavigationDuplicated 用于查询更改
- highcharts - Highcharts - yAxis 对数刻度和 allowDecimals 设置为 false 似乎没有任何效果
- spring-boot - 在外部tomcat上调用@GetMapping“/”会引发错误-Spring Boot
- java - 使用proguard构建应用程序时出现Android异常