【问题标题】:How do devDependencies work when you yarn add <package>?当您添加 <package> 时,devDependencies 是如何工作的?
【发布时间】:2018-04-17 10:57:54
【问题描述】:

如果你有一个依赖于 packageA 的项目并且你 yarn add packageA 但 packageA 对 packageB 有一个 devDependency 来构建,那不应该导致 packageA 不适合你吗?既然 packageA 不能构建,除非它的 devDependencies 也被安装?

我想我的主要问题是,如果一个 pacakge 对像 babel 这样的构建工具有 devDependency,那么当它被项目yarn added 时,它是如何构建和工作的?像 webpack 这样的构建工具不应该是正常的依赖吗?

【问题讨论】:

    标签: npm dependencies yarnpkg


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      早上好 :)

      如果你对 package.json 的依赖有依赖问题,解决起来很简单 =] 发生的情况是,你项目的模块需要的依赖模块(dependencies)必须作为包节点(module)安装在全局npm中,即:

      npm install -g youPackageName
      

      如果你已经在其他项目或当前项目中安装了一个模块,并且想将它变成一个全局包,你可以使用命令:

      npm link youPackageName
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-11
        • 2020-03-04
        • 1970-01-01
        • 1970-01-01
        • 2016-11-21
        • 1970-01-01
        • 1970-01-01
        • 2010-09-29
        相关资源
        最近更新 更多