【问题标题】:How to execute an npm package from the code of another package without first installing it?如何在不先安装的情况下从另一个包的代码执行 npm 包?
【发布时间】:2023-01-29 01:59:14
【问题描述】:

我创建了一个命令行包,在其代码中动态加载了包。

如何在代码中安装动态包?

例子:

hello-so包裹

export default async function() {
  const ex = await import(process.argv[2]);
  const raw = await ex.default(process.argv[3]);
}

hello-so-module包裹

export default async function(hello) {
  console.log(hello);
  return hello;
}

跑步:

npx hello-so "hello-so-module" "Hello stackoverflow"

会报错,因为没有安装hello-so-module包。但是如何在代码中安装它,或者还有其他选择?

我认为用户必须全局安装动态模块。

【问题讨论】:

    标签: node.js npm


    【解决方案1】:

    您可以使用 npm link 链接不同包之间的本地依赖项。

    cd /directory/of/hello-so-module
    npm link
    
    cd /directory/of/hello-so
    npm link "hello-so-module"
    

    查看npm documentationnpm link获取更多信息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-04
      • 2018-01-17
      • 1970-01-01
      • 2016-12-13
      • 2017-11-03
      • 1970-01-01
      • 1970-01-01
      • 2019-03-30
      相关资源
      最近更新 更多