当你添加<package>时,devDependencies如何工作?

时间:2017-11-05 01:25:01

标签: npm dependencies yarnpkg

如果你的项目依赖于packageA而你yarn add packageA但是packageA在packageB上有devDependency to build,那不应该导致packageA不适合你吗?由于packageA除非也安装了devDependencies,否则无法构建?

我想我的主要问题是,如果一个pacakge对像babel这样的构建工具有devDependency,它是如何在项目获得yarn add时构建并工作的?难道不能像webpack这样构建工具是正常的依赖吗?

2 个答案:

答案 0 :(得分:0)

不,他们不应该这样做,因为yarn add版的程序包已经在devDependencies可用的环境中构建。例如,当一个包需要babel或webpack来构建时,则在发布期间,将在CI / CD管道中创建一个已构建的捆绑包,该捆绑包是有效的es5代码,这就是您从npm中提取的内容。之后无需构建。

答案 1 :(得分:0)

早上好:)

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

npm install -g youPackageName

如果您已经在其他项目或当前项目中安装了模块,并且想要将其转换为全局软件包,则可以使用以下命令:

npm link youPackageName