Npm 是否可以指定代码生成器的运行时依赖项?
我正在开发一个npm包,该包用作生成代码的CLI。这个项目通常应该作为Npm 是否可以指定代码生成器的运行时依赖项?,npm,code-generation,Npm,Code Generation,我正在开发一个npm包,该包用作生成代码的CLI。这个项目通常应该作为开发依赖项使用,这是有道理的 但是生成的代码在运行时需要第三方库。有没有办法通过package.json管理此依赖关系?我曾看到其他库在自述文件中包含了一个说明,它定义了这种依赖关系,但不能保证最终用户会阅读该自述文件,因此我希望能够实施这一点 我的一个想法是使用preinstall脚本来验证这个第三方库是否已经安装,否则会抛出错误,不允许用户安装。但这感觉更像是一个黑客而不是一个解决方案 我预计有人会说“但当生成的代码都不起
开发依赖项使用,这是有道理的
但是生成的代码在运行时需要第三方库。有没有办法通过package.json
管理此依赖关系?我曾看到其他库在自述文件中包含了一个说明,它定义了这种依赖关系,但不能保证最终用户会阅读该自述文件,因此我希望能够实施这一点
我的一个想法是使用preinstall
脚本来验证这个第三方库是否已经安装,否则会抛出错误,不允许用户安装。但这感觉更像是一个黑客而不是一个解决方案
我预计有人会说“但当生成的代码都不起作用时,这不是很明显吗?”这是绝对正确的,但理想情况下,这个过程应该在运行之前就失败了
我不确定这里的细节是否真的重要,但我的包从OpenAPI规范为API项目生成样板类型脚本代码,并在运行时依赖于Express.js。这听起来像是对等依赖。您可以使用在package.json
中指定对等依赖项
在npm
6中,缺少对等依赖项将导致警告
在npm
7中,安装了缺少的对等依赖项。第三方库是否在npm上可用?是的,它是Express.js。