包管理工具|青训营

117 阅读6分钟

目录

一、概念介绍

1.1包是什么

1.2包管理工具

1.3常用的包管理工具

二、npm

2.1npm安装

2.2npm基本使用

2.2.1初始化

2.2.2npm搜索包

2.2.3下载安装包

2.2.4require导入npm包的基本流程

2.3生产环境与开发环境

2.4开发依赖与生产依赖

2.5全局安装

2.6如何使用npm来安装包的所以依赖

2.7安装指定版本的包

2.8删除依赖

2.9npm配置命令别名

三、cnpm

3.1介绍

3.2安装

3.3npm配置淘宝镜像(推荐npm, cnpm可以了解)

四、NVM

4.1介绍

4.2使用

一、概念介绍

1.1包是什么

包英文单词是package,代表了一组特定功能的源码集合。

1.2包管理工具

管理包的应用软件,可以对包进行下载安装,更新,删除,上传等操作

提供包管理工具,可以快速开发项目,提升开发效率

包管理工具是一个通用的概念,很多编程语言都有包管理工具,所以掌握好包管理工具非常重要

1.3常用的包管理工具

  • npm(Node Package Manager,翻译为中文即Node的包管理工具)
  • yarm
  • cnpm

二、npm

2.1npm安装

通过npm -v查看版本号,如果显示版本号,说明安装成功。

2.2npm基本使用

2.2.1初始化

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

npm init命令的作用是将文件夹初始化为一个包,交互式创建package.json文件

package.json是包的配置文件,每个包都必须要有package.json

package.json内容示例:

{

"name": "test",

"version": "1.0.0",

"description": "学习",

"main": "index.js",

"scripts": {

"test": "echo \"Error: no test specified\" && exit 1"

},

"author": "",

"license": "ISC"

}

初始化过程中的注意事项:

  1. package name(包名)不能使用中文、大写,默认值是文件夹的名称,所以文件夹名称也不能使用中文和大写
  2. version(版本号)要求x.x.x的形式定义,x必须是数字,默认值1.0.0
  3. package.json可以手动创建与修改
  4. 使用npm init -y或者npm initial --yes极速创建package.json

2.2.2npm搜索包

搜索包方式:

1.命令行(使用较少) 【npm s/search 关键字】

​编辑

2.网站搜索 网址是https:www.npmjs.com/

2.2.3下载安装包

通过npm install和npm i命令安装包

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

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

如安装uniq

安装uniq之后,uniq就是当前这个包的一个依赖包,有时会简称依赖

比如我们创建一个包名A,A中安装了包名字是B,我们就说B是A的一个依赖包,也会说A依赖B

2.2.4require导入npm包的基本流程

  1. 在当前文件夹下node_modules中寻找同名的文件夹
  2. 在上级目录中下的node_modules中寻找同名的文件夹,直至找到磁盘根目录

2.3生产环境与开发环境

开发环境是程序员专门用来写代码的环境,一般是指程序员的电脑,开发环境的项目一般只能程序员自己访问

生产环境是项目代码正式运行的环境,一般是指正式的服务器电脑,开发环境的项目一般每个用户都可以访问

2.4开发依赖与生产依赖

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

类型

命令

补充

生产依赖

npm i -S uniq

npm i --save uniq

-S等效于--save,-S是默认选项

包信息保存在package.json中dependencies

开发依赖

npm i D less

npm i --save-dev less

-D等效于--save-dev

包信息保存在package.json中devDependencies

生产依赖:既在开发阶段使用,又在最终的运行阶段使用

开发依赖:只在开发阶段使用,之后就没用了

但都会装在node_modules文件夹中的

2.5全局安装

我们可以执行安装选项-g进行全局安装

npm i -g nodemon

​编辑

查看安装到的文件:

​编辑

全局安装完成之后就可以在命令行的任何位置(随便找一个命令行窗口都可以)运行nodemon命令

作用:能让我们的node应用程序自动重启。(之前必须用ctrl+c重新启动服务台)

安装后 可以用nodemon来代替node来执行脚本

注意:并不是所有的包都适合全局安装,只有全局类的工具才适合,可以通过查看包的官方文档来确定安装方式。

2.6如何使用npm来安装包的所以依赖

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

npm i

npm install

相同

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

在进入项目时,首先先要使用npm i把所有依赖装上去,再去运行。

2.7安装指定版本的包

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

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

2.8删除依赖

删除不需要的包

## 局部删除
npm remove uniq
npm r uniq
## 全局删除
npm remove -g nodemon

2.9npm配置命令别名

第一步,首先在package.json中的scripts中加入server

​编辑

也可加入

"start": "node ./index.js"

直接在命令行输入npm start即可。

第二步,在命令行输入npm run server即可。

补充:

  • npm start是项目中常用的一个命令,一般用来启动项目
  • npm run有自动向上级目录查找的特性,跟require函数也一样
  • 对于陌生的项目,可以通过查看scripts属性来参考项目的一些操作

三、cnpm

3.1介绍

cnpm是淘宝构建的npmjs.com的完整镜像,也称“淘宝镜像”,但该网站不能搜索列表。可以提高下载速度

官方也提供了一个全局工作包cnpm,操作命令于npm大体相同

3.2安装

可以通过npm来安装cnpm工具

npm install -g cnpm --registry=registry.npmmirror.com

3.3npm配置淘宝镜像(推荐npm, cnpm可以了解)

配置方法:

  • 直接配置
  • 工具配置

1、直接配置:

npm config set registry registry.npmmirror.com/

2、工具配置

使用nrm配置npm的镜像地址 npm registry manager

步骤一:安装nrm

npm i -g nrm

步骤二:修改镜像

之后下载包是直接取淘宝这个地方下载,速度更快

nrm use taobao

步骤三:检查是否配置成功

npm config list

检查registry地址是否为registry.npmmirrir.com/,如果是则成功。

也可通过nrm ls查看可选地址

​编辑

注:yarn比npm快

包管理工具不要混着用!!!

四、NVM

4.1介绍

用来管理node版本的工具,方便切换不同版本的Node.js

4.2使用

跟npm相似