Npm 添加纱线时,devdependency是如何工作的<;包装>;?

Npm 添加纱线时,devdependency是如何工作的<;包装>;?,npm,dependencies,yarnpkg,Npm,Dependencies,Yarnpkg,如果您有一个依赖于packageA的项目,并且您添加了packageA,但是packageA对packageB有依赖性来构建,这难道不应该导致packageA不能为您工作吗?既然packageA在没有安装devDependencies的情况下无法构建 我想我的主要问题是,如果一个pacake对babel这样的构建工具有依赖性,那么当它被一个项目构建时,它是如何构建和工作的?像webpack这样的生成工具不应该是一个普通的依赖项吗?不,它们不应该是,因为warn added的包已经在一个具有开发依

如果您有一个依赖于packageA的项目,并且您
添加了packageA
,但是packageA对packageB有依赖性来构建,这难道不应该导致packageA不能为您工作吗?既然packageA在没有安装devDependencies的情况下无法构建


我想我的主要问题是,如果一个pacake对babel这样的构建工具有依赖性,那么当它被一个项目构建时,它是如何构建和工作的?像webpack这样的生成工具不应该是一个普通的依赖项吗?

不,它们不应该是,因为
warn add
ed的包已经在一个具有开发依赖项的环境中生成了。例如,当一个包需要babel或webpack来构建时,在发布过程中,将在CI/CD管道中创建一个构建包,该管道是有效的es5代码,这就是您从npm获取的。之后无需构建。

早上好:)

如果您对package.json的依赖项存在依赖性问题,那么解决它非常简单=] 发生的情况是,项目的模块所需的依赖模块(依赖项)必须作为包节点(模块)安装在全局npm中,即:

npm install -g youPackageName
如果已经在其他项目或当前项目中安装了模块,并希望将其转换为全局包,则可以使用以下命令:

npm link youPackageName