• dependencies 和 devDependencies 区别重新认识dependencies 和 devDependencies 区别重新认识


    在之前的认识中只知道,vue打包到生产的文件要放到dependencies中,而本地开发的,类似webpack这种就放到devDependencies中,但没有细想一个问题,就是平常生产上都是用了vue build后的文件,那放到这个dependencies中其实也就没有存在还要额外依赖包的问题,于是继续往下打,发现原来区别如下:
    问:

    npm install --save-dev会保存到devDependencies中,npm install --save会保存到dependencies。
    我在项目中用了vue-video插件,只存到了devDependencies中,打包以后插件也能正常运行。可dependencies中没有存,为什么插件不会报错?不是运行时依赖吗?

    答:
    这个dependencies做前端的时候不会有问题,因为最终代码都打包到发布文件里面去了。
    写nodejs应用的时候很明显。nodejs没有打包这一说,需要的外部模块都是node_modules目录下的。

    nodejs安装依赖有两种方法,一种是全部安装npm install,一种是安装生产环境的npm install --production

    1. dependencies 中的两种模式都会安装
    2. devDependencies 生产模式不会安装

    所以生产环境用--production参数可以保证只下载运行应用必须的包。
    比如我们开发时用到eslint,那这种需要放到devDependencies 中去,因为这种有没有这个包都不影响服务端代码的执行,只是约束开发时的代码风格。

    如果 你的代码里 import了 这个包 那就是dependencies,没有就是devDependencies

    比如可能存在单元测试、代码格式化等依赖项插件,这些依赖项对于这个项目本身而言并不是导入的模块,而是在开发时才需要用到,那么对于仅仅想运行一下项目、而非要开发项目的人来说,也必须 npm install 一遍。可你要知道 npm 早期版本可是以安装慢著称的(虽然从 npm 5.0 之后已经有很大改善了)。

    所以搞出来了两个字段,如果只是想跑一遍项目,那么 npm install --production 就好了,这样只会下载安装 dependencies 里的依赖项。

      npm install A:A组件依赖的devDependencies不会被下载,只会下载A组件的dependencies

    • 如果开发的是个工程项目,依赖包安装在devDependencies还是dependencies,没有区别;
    • 如果开发的是组件库,建议将代码运行引用的库放到dependencies,其它的编译打包、eslint校验、开发相关的包放到devDependencies;



    转:https://www.jianshu.com/p/7a42e218ebd8

  • 相关阅读:
    JQuery checkbox全选多次点击后无效解决方法
    mongodb更新数据
    EasyUI--datebox设置默认时间
    转载:MyEclipse中防止代码格式化时出现换行的情况的设置
    Java 多维数组 按某列 排序
    Java Entry使用
    matlab使用reshape时按照列优先原则取元素和摆放元素
    boost--signal
    boost--function
    boost--bind
  • 原文地址:https://www.cnblogs.com/ygyy/p/16153858.html
Copyright © 2020-2023  润新知