• npm常见操作


    1、介绍

    npm是nodejs的一个模块,安装好nodejs软件之后就自带npm模块,可以直接使用npm的相关操作。

    2、配置命令

    npm config ls:npm配置信息。

    npm config set prefix "complete_path":修改npm的全局安装路径(注意:修改后需要将路径添加到环境变量)。

    npm config set cache "complete_path":修改npm的缓存路径。

    #查看npm的全局安装路径(默认全局地址:C:\Users\Administrator\AppData\Roaming\npm)
    npm config get prefix
    #查看npm的缓存路径(默认缓存地址:C:\Users\Administrator\AppData\Roaming\npm-cache)
    npm config get cache
    
    • 1
    • 2
    • 3
    • 4

    npm config set registry https://registry.npmmirror.com:修改npm远程仓库地址为淘宝镜像。淘宝npm镜像网站地址http://npmmirror.com,可以在上面搜索想要的第三方前端依赖库。

    npm cache clean:清除npm的缓存(npm版本7及以上不需要清缓存)。

    npm prune:清除项目中没有被使用的包。

    3、npm包管理文件

    package.json

    package.json是npm依赖包管理文件,用于定义项目所需的各种第三方前端依赖包,以及项目的各种配置信息(如名称、版本、描述、作者、许可证等等),类似于maven的pom.xml文件。

    在package.json文件目录终端执行npm install时,npm会自动下载package.json里面定义的各种第三方依赖包,放在当前目录的node_modules目录内部。

    package-lock.json

    package-lock.json文件是在执行npm install命令时生成的文件,内部记录了当前状态下载安装package.json文件内部所有依赖包的版本号,下次执行npm install时重用package-lock.json文件保存的版本号。

    "dependencies": {
    	"@types/node": "^8.0.33",
    }
    
    #例如这里面的上标号^是定义了向后(新)兼容依赖,指如果types/node的版本是超过8.0.33,并在大版本号(8)上相同,就允许下载最新版本的 types/node库包,例如实际上可能运行npm install时候下载的具体版本是8.0.35。
    
    #所以package-lock.json文件的作用就是锁定package.json依赖包的版本号,防止在不同时间执行npm install时下载安装的依赖包版本不一致,导致项目运行出现意料之外的问题。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    所以package-lock.json文件也需要上传到代码管理器,如git。

    4、运行命令

    npm init:初始化npm,根据终端提示在当前文件夹创建一个package.json文件。

    npm install moduleName:安装指定的node模块。-g(–global)全局安装,-S(–save)安装为运行时依赖,-D(–save-dev)安装为开发时依赖。此外若已存在安装的node模块,将覆盖package.json、package-lock.json俩文件的旧版本。

    #安装jquery最新版本为运行时依赖
    npm install jquery
    
    #安装element-ui的2.12.0版本为运行时依赖
    npm install element-ui@2.12.0 -S
    
    #安装element-ui的2.13.0版本为开发时依赖
    npm install element-ui@2.12.0 -D
    
    # 全局安装webpack
    npm install webpack webpack-cli –g
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    npm uninstall moduleName:卸载掉指定模块,并删除package.json、package-lock.json中的模块依赖。

    npm run scriptName:运行npm项目指定的scripts脚本模块。

    #如下是一个package.json文件,用以演示执行npm run xxx命令
    {
      "name": "demo",
      "version": "1.0.0",
      "description": "helloworld",
      "main": "index.js",
      "scripts": {
        "pretest": "echo pre test script",
        "test": "echo Error: no test specified ",
        "posttest": "echo post test script "
      },
      "author": "",
      "license": "ISC",
      "dependencies": {},
      "devDependencies": {}
    }
    
    #执行run命令结果
    npm run test
    
    > demo@1.0.0 pretest C:\Users\Administrator\Desktop\es6\npm
    > echo pre test script
    
    pre test script
    
    > demo@1.0.0 test C:\Users\Administrator\Desktop\es6\npm
    > echo Error: no test specified
    
    Error: no test specified
    
    > demo@1.0.0 posttest C:\Users\Administrator\Desktop\es6\npm
    > echo post test script
    
    #常见的前端项目运行npm run dev或npm run build就是执行scripts模块的dev、build部分。案例:
    {
      "name": "elm",
      "version": "1.0.0",
      "description": "vue2-elm",
      "scripts": {
        "dev": "node build/dev-server.js",
        "build": "node build/build.js"
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
  • 相关阅读:
    native2ascii转换Unicode编码为utf-8
    AQS之ReentrantReadWriteLock分析 (九)
    安装pytorch总结
    微服务架构(持续更新)
    怎么恢复永久删除的文件?这3个方法很实用!
    SpringMVC程序开发
    Eclipse如何搭建一个SpringBoot项目
    关于PointHeadBox类的理解
    Rider 2023:打造高效.NET项目的智能IDE,让开发更简单mac/win版
    React学习笔记
  • 原文地址:https://blog.csdn.net/xiao_yu_gan/article/details/126243969