一文搞清JS中的包管理工具

基本概念

        在JavaScript中,一个包是由多个相关的模块组成的集合。在Node.js中,包是通过package.json文件来定义和管理的。package.json文件包含了项目的相关信息,如项目名称、版本号、作者信息等。同时,package.json文件也记录了项目依赖的其他模块,以及项目的入口文件等。

        包管理工具就是管理『包』的应用软件,可以对包进行 下载安装, 更新 ,删除 ,上传等操作,借助包管理工具,可以快速开发项目,提升开发效率,包管理工具是一个通用的概念,很多编程语言都有包管理工具,所以掌握好包管理工具非常重要


常用的包管理工具

  • npm
  • yarn
  • cnpm

NPM

        npm 全称  Node Package Manager ,翻译为中文意思是『Node 的包管理工具』 ,npm 是 node.js 官方内置的包管理工具,是必须要掌握住的工具。

安装

        node.js 在安装时会 自动安装 npm ,所以如果你已经安装了 node.js,可以直接使用 npm,可以通过 npm -v 查看版本号测试,如果显示版本号说明安装成功,反之安装失败。未安装可直接去 Node.js 中文网 (nodejs.com.cn)下载。

npm 基本使用

初始化

        创建一个空目录,然后以此目录作为工作目录,启动命令行工具,执行 npm init。

npm init 命令的作用是将文件夹初始化为一个『包』, 交互式创建 package.json 文件。不想填直接 npm init -y 快速初始化,以你的文件夹为名字,快速生成 package.json 文件

package.json 内容示例:

属性翻译:

 {
        "name": "1-npm",         #包的名字
        "version": "1.0.0",     #包的版本
        "description": "",         #包的描述
        "main": "index.js",     #包的入口文件
        "scripts": {             #脚本配置
            "test": "echo \"Error: no test specified\" && exit 1"
        },
        "author": "",             #作者
        "license": "ISC"         #开源证书
 }

初始化的过程中还有一些注意事项:


下载安装包

我们可以通过 npm install 或 npm i 命令安装包

// 格式
npm install <包名>
npm i <包名>

运行之后文件夹下会增加两个资源

  • node_modules 文件夹 存放下载的包
  • package-lock.json 包的锁文件,用来锁定包的版本

生产依赖与开发依赖

我们可以在安装时设置选项来区分 依赖的类型,目前分为两类:

类型命令补充
生产依赖npm i -S 【包名】 ,npm i --save 【包名】    -S 等效于 --save,-S 是默认选项包信息保存在 package.json 中 dependencies 属性
开发依赖  npm i -D 【包名】 ,npm i --save-dev 【包名】   -D 等效于 --save-dev包信息保存在 package.json 中 devDependencies 属性
 

全局安装

        我们可以执行安装选项 -g 进行全局安装,全局安装完成之后就可以在命令行的任何位置运行该命令

    npm i -g 【包名】

说明:

  • 全局安装的命令不受工作目录位置影响
  • 可以通过 npm root -g 可以查看全局安装包的位置
  • 不是所有的包都适合全局安装,只有全局类的工具才适合,可以通过查看包的官方文档来确定安装方式

安装包依赖

        在项目协作中有一个常用的命令就是 npm i,通过该命令可以依据 package.json 和 package-lock.json 的依赖声明安装项目依赖

  •     npm i
  •     npm install

node_modules 文件夹大多数情况都不会存入版本库


安装指定版本的包

项目中可能会遇到版本不匹配的情况,有时就需要安装指定版本的包,可以使用下面的命令的

    ## 格式
    npm i <包名@版本号>
    
    ## 示例
    npm i jquery@1.11.2


删除依赖

项目中可能需要删除某些不需要的包,可以使用下面的命令

    ## 局部删除
    npm remove 【包名】
    npm r 【包名】
    
    ## 全局删除
    npm remove -g 【包名】


CNPM

介绍

cnpm 是一个淘宝构建的npmjs.com的完整镜像,也称为『淘宝镜像』,cnpm 服务部署在国内 阿里云服务器上,可以提高包的下载速度。官方也提供了一个全局工具包 cnpm ,操作命令与 npm 大体相同

安装

我们可以通过 npm 来安装 cnpm 工具

npm install -g cnpm --registry=https://registry.npmmirror.com

操作命令

功能        命令          
初始化  cnpm init      
安装包     cnpm i 【包名】,cnpm i -S 【包名】,cnpm i -D 【包名】,cnpm i -g 【包名】
安装项目依赖cnpm i      
删除cnpm r 【包名】

Yarn

yarn 介绍

yarn 是由 Facebook 在 2016 年推出的新的 Javascript 包管理工具,官方网址:yarn

yarn 特点

  • 速度超快:yarn 缓存了每个下载过的包,所以再次使用时无需重复下载。 同时利用并行下载以最大化资源利用率,因此安装速度更快
  • 超级安全:在执行代码之前,yarn 会通过算法校验每个安装包的完整性
  • 超级可靠:使用详细、简洁的锁文件格式和明确的安装算法,yarn 能够保证在不同系统上无差异的工作

yarn 安装

我们可以使用 npm 安装 yarn

    npm i -g yarn

yarn 常用命令

 功能   命令        
 初始化  yarn init  /  yarn init -y                
安装包     yarn add 【包名】,yarn add 【包名】 --dev ,yarn global add 【包名】
删除包yarn remove 【包名】,yarn global remove 【包名】
安装项目依赖 yarn  

选择

大家可以根据不同的场景进行选择

  1. 个人项目

            如果是个人项目,哪个工具都可以,可以根据自己的喜好来选择

  2. 公司项目如果是公司要根据项目代码来选择,可以通过锁文件判断项目的包管理工具

    • npm 的锁文件为 package-lock.json

    • yarn 的锁文件为 yarn.lock

包管理工具 不要混着用,切记,切记,切记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值