gpt4 book ai didi

node.js - 使用 npm 作为自定义插件管理器?

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:48 27 4
gpt4 key购买 nike

想想 sublime text,你可以在其中安装或卸载插件。我希望我的应用程序能够做到这一点,并且我想使用 npm/github 来做到这一点。

也许我会要求您的包以 myapp- 开头才能被视为我的应用程序的插件。我如何基于此搜索 npm,并将包安装/更新到我想要的文件夹(而不是 node_modules)中,理想情况下,即使该人没有安装 npm(使用 http api?),它也应该可以工作。

我的应用程序的插件进入 plugins/plugin-name 文件夹,我需要做的就是将其 git 源下载到该文件夹​​

最佳答案

我创建了一个项目来解决类似的问题。请参阅live-plugin-manager .

您可以在运行时从 npm 安装、卸载和加载插件。

import {PluginManager} from "live-plugin-manager";
import * as path from "path";

const manager = new PluginManager({
pluginsPath: path.join(__dirname, "plugins")
});

async function run() {
await manager.installFromNpm("moment");

const moment = manager.require("moment");
console.log(moment().format());

await manager.uninstall("moment");
}

run();

在上面的代码中,我在运行时安装了 moment 包,加载并执行它。这里我使用了 typescript,但同样可以用普通的 javascript 编写。

插件安装在 PluginManager 构造函数中指定的目录中,如果未指定,则安装在 plugins 目录中。

关于node.js - 使用 npm 作为自定义插件管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43023187/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com