使用devDependencies部署NPM包时,何时进行构建?

时间:2017-11-05 23:49:42

标签: javascript node.js npm webpack dependencies

我发现大多数package.json在其devDependency列表中都有webpackbabel。因此,如果为了使用该软件包而不需要这些软件包,则必须在项目安装该软件包之前使用这些devDependencies,对吧?这是什么时候发生的?它看起来像下面的任何一个步骤吗?

  1. 部署包
  2. 包构建
  3. 捆绑以及依赖项在线托管
  4. npm install $ package只会获取包和依赖
  5. OR

    1. 部署包
    2. 包以及依赖项和devDependencies在线托管
    3. npm install $ package将导致构建包,并且生成的包将与依赖项一起下载
    4. 如果devDependencies根本不在图片中,那么依赖webpack和babel将其es6转换为es5的包如何与仅在es5中的项目一起工作?

2 个答案:

答案 0 :(得分:1)

需要Dev依赖项来修改给定的库,不需要它们来使用库。当库维护者将库上传到npm时,他们首先使用这些dev依赖项构建库,然后上载构建的文件。所以你不需要开发依赖项来使用库,维护者已经为你做了这个构建。

答案 1 :(得分:1)

所以给你答案。让我们谈谈devdependency

babel用于将最新的es6不可编译代码转换为node.js不可编译代码。 与webpack在开发周期中使用的方式相同

它们在开发时用于简化开发代码。

提出问题的答案。

  

必须意味着必须在项目之前使用这些devDependencies   安装那个包,对吧?

是的,它们是在开发人员开发包时使用的。

  

这是什么时候发生的?

当任何人开发包裹时。例如,你创建一个项目,并希望缩小js文件,包括开发过程中的js minifier。

  

它看起来像下面的任何一个步骤吗?

deploy package (create a package)
package gets built 
bundle along with dependencies are hosted online
npm install $package will only get bundle and dependencies