我知道这听起来像一个奇怪的问题,让我试着用例子进一步解释一下:
首先,我试图在一个简单的库中为JSDoc添加一些功能。我们称它为jsdoc-extra。
当一个项目包含我的库时,它还应该安装jsdoc。我也将jsdoc列为对我自己的库的依赖。
jsdoc-extra > package.json
{
[...]
"dependencies": {
[...]
"jsdoc": "^3.6.6",
[...]
}
}
让我们假设一个“示例”项目正在尝试使用我的库(这是我现在实际运行的库,从文件中安装)
{
[...]
"dependencies": {
"jsdoc": "^3.6.6",
"jsdoc-cov": "file:../jsdoc-cov",
"jsdoc-ts-utils": "^1.1.2"
}
}
从我的jsdoc-extra
代码中,我可以搜索并找到安装在“客户机”应用程序(示例)上的sample/node_modules/jsdoc/jsdoc.js
,或者在第一个jsdoc-extra/node_modules/jsdoc/jsdoc.js
不可用时使用我自己的and。然后,我可以用spawn
执行它
到目前一切尚好。但是:
“客户端”(本例中的示例项目)可能在其jsdoc设置中使用了一些插件,就像您在前面的代码片段中看到的那样,我安装了ts-utils作为示例。
因此,当我在示例项目中时,尝试运行:
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)似乎不能使用安装在客户端(示例)项目上的jsdoc-ts-utils
,即使我运行示例自己安装的jsdoc。
我希望能够像这样执行它,这样“客户端”项目就可以在没有额外jsdoc
配置的情况下执行jsdoc-extra
,它将使用它已经用于常规jsdoc操作的任何东西。
我开始认为我最好的选择就是实际编写一个jsdoc插件……
我知道这很多,而且可能会让人困惑,如果你认为有必要的话,我很乐意提供更多的信息。谢谢!
发布于 2020-11-21 20:28:08
我决定关闭它,只写一个jsdoc插件。这是一种更简单的方法,可以破解它生成的数据来做我想做的事情。我的额外功能将与文档生成捆绑在一起,这并不理想,但我会处理它……
https://stackoverflow.com/questions/64947653
复制相似问题