Javascript 我是否可以运行安装在";“客户”;从我自己的项目?

Javascript 我是否可以运行安装在";“客户”;从我自己的项目?,javascript,node.js,jsdoc,Javascript,Node.js,Jsdoc,我知道这听起来像个奇怪的问题,让我试着用例子进一步解释: 首先,我试图在一个简单的库中向JSDoc添加一些功能。我们叫它jsdoc额外的 当项目包含my library时,还应该安装jsdoc。我也将jsdoc列为我自己库的依赖项 jsdoc extra>package.json { [...] "dependencies": { [...] "jsdoc": "^3.6.6", [...] } }

我知道这听起来像个奇怪的问题,让我试着用例子进一步解释:

首先,我试图在一个简单的库中向JSDoc添加一些功能。我们叫它jsdoc额外的

当项目包含my library时,还应该安装jsdoc。我也将jsdoc列为我自己库的依赖项

jsdoc extra>package.json

{
  [...]
  "dependencies": {
    [...]
    "jsdoc": "^3.6.6",
    [...]
  }
}
让我们假设一个“示例”项目正在尝试使用我的库(这是我现在实际运行的,从文件中安装的)

从我的
jsdoc extra
代码中,我可以搜索并找到安装在“客户端”应用程序(示例)上的
sample/node_modules/jsdoc/jsdoc.js
,或者在第一个模块不可用时使用我自己的
jsdoc extra/node_modules/jsdoc/jsdoc.js
。然后我可以使用
spawn

到目前为止还不错。然而:

“客户机”(本例中的示例项目)可能在jsdoc设置中使用了一些插件,正如您在前面的代码片段中所看到的,我已经安装了ts UTIL作为示例

因此,当我在示例项目中,并尝试运行:

node_modules/jsdoc/jsdoc-extra.js -c jsdoc.json
(jsdoc.json是我刚刚传递给它的标准jsdoc配置文件)

我会遇到这样的错误:

(node:3961) UnhandledPromiseRejectionWarning: Error: ERROR: Unable to find the plugin "jsdoc-ts-utils"
似乎我的应用程序(jsdoc extra)无法使用安装在客户机(sample)项目上的
jsdoc ts utils
,即使我运行sample自己安装的jsdoc

我希望能够像这样执行它,这样“客户机”项目就可以执行
jsdocextra
,而无需额外的
jsdoc
配置,它将使用已经用于常规jsdoc操作的任何东西

我开始认为我最好的选择是写一个jsdoc插件


我知道这是很多,而且可能令人困惑,如果你认为有必要,我很乐意提供更多信息。谢谢

我决定关闭它,而只是编写一个jsdoc插件。这是一种更简单的方法,可以侵入它生成的数据来做我想做的事情。我的额外功能将与文档生成绑定,这并不理想,但我会处理它

(node:3961) UnhandledPromiseRejectionWarning: Error: ERROR: Unable to find the plugin "jsdoc-ts-utils"