• npm安装包命令详解,dependencies与devDependencies实际区别


    1.安装包命令

    npm  i(install)  xxx:直接安装在当前文件夹下的node_modules下,但不写入package.json
    npm  i(install)  xxx  --save(-S):直接安装在当前文件夹下的node_modules下,写入package.json的dependencies
    npm  i(install)  xxx  --save-dev(-D):直接安装在当前文件夹下的node_modules下,写入package.json的devDependencies
    npm  i(install)  xxx  -g:安装在全局npm包管理器下  
    npm uninstall  xxx   删除xxx模块;
    npm uninstall  -g  xxx  删除全局模块xxx;

    2.dependencies与devDependencies有什么区别呢

    当你在安装了一些包后,会出现node_modules和package-lock.json,前一个就是放置包的源文件,后一个放置包的出处

    此时你的package.json如下:

    {
      "name": "personal-blog",
      "version": "0.0.0",
      "dependencies": {
        "@angular/animations": "~8.2.14",
        "@angular/common": "~8.2.14",
        "rxjs": "~6.4.0",
        "tslib": "^1.10.0",
        "zone.js": "~0.9.1"
      },
      "devDependencies": {
        "codelyzer": "^5.0.0",
        "jasmine-core": "~3.4.0",
        "jasmine-spec-reporter": "~4.2.1",
        "karma": "~4.1.0",
        "karma-chrome-launcher": "~2.2.0",
        "karma-coverage-istanbul-reporter": "~2.0.1",
        "karma-jasmine": "~2.0.1",
        "karma-jasmine-html-reporter": "^1.4.0",
        "protractor": "~5.4.0",
        "ts-node": "~7.0.0",
        "tslint": "~5.15.0",
        "typescript": "~3.5.3"
      }
    }

    也许你有个疑问,dependencies与devDependencies有什么区别呢?

    网上解释:

    devDependencies 里面的插件只用于开发环境,不用于生产环境dependencies 是需要发布到生产环境的.那么这两个环境怎么用呢?比如我们写一个项目要依赖于jQuery,没有这个包的依赖运行就会报错,这时候就把这个依赖写入dependencies ;而我们使用的一些构建工具比如glup、webpack这些只是在开发中使用的包,上线以后就和他们没关系了,所以将它写入devDependencies。

    个人理解:

    对于项目:

    • 在npm i 的时候都会安装在我们本地node_modules里
    • 都可以使用相同的命令去卸载 npm uninstall xxx
    • 在webpack打包的时候,不是说dependencies里的依赖包是线上使用的,就会一起打包,webpack是按需打包,所以看待dependencies和devDependencies是一样的处理
    • 但是作为公司项目并不是你自己在开发,把包放在dependencies或者devDependencies里可以让你们开发的环境,包保持一致,要不然别人clone了你的代码,但是编译报错,不知道缺少了什么包,导致了浪费时间。但是放在dependencies或者devDependencies里,只需使用npm i 就会直接安装上


    实质区别

    • 如果我们只是单纯的做项目,那么我们可简单地认为生产环境和开发环境做为一种友善的提示,实质没有什么区别;但是,如果在发布npm包的时候,两种环境安装方式是有很大区别的!!!
    • 在发布npm包的时候,本身dependencies下的模块会作为依赖,一起被下载;devDependencies下面的模块就不会自动下载了;但对于项目而言,npm install 会自动下载devDependencies和dependencies下面的模块。

    参考---https://blog.csdn.net/qq_40677590/article/details/106780812

  • 相关阅读:
    jQuery,from标签,歪路子小技巧
    UniApp随笔
    JS的一些操作
    文本环绕
    Dictionary 存储函数,方法
    GIT项目管理
    Vue2 学习记录
    VSCode + Vue 学习笔记
    Mysql,Insert,Select时自增长问题
    ASP.NET SignalR Troubeshooting
  • 原文地址:https://www.cnblogs.com/pwindy/p/14637571.html
Copyright © 2020-2023  润新知