【前端】-【包与 npm】-学习笔记
1 package包
- Node.js的包基本遵循CommonJS规范,包将一组相关的模块组合在一起,形成一组完整的工具。
包有包结构和包描述两部分组成
包结构:用于组织包中的各种文件
包描述:描述包的相关信息,以供外部读取分析
包结构:
包实际上是一个压缩文件,解压后还原目录,符合CommonJS规范目录,应包含一下文件和文件夹
·package.json
:描述文件 (一定包含)
·bin
:可执行二进制文件
·lib
:js代码
·doc
:文档
·test
:单元测试
- 如何让普通文件夹变成包?
必须拥有
packag.json
文件,且里面内容合法
包名不能有中文、不能有大写、最好不以数字开头,不能与npm仓库中其他包重名
执行命令,npm init
2 npm
npm
全称 Node Package Manager
,它的诞生是为了解决 Node 中第三方包共享的问题。
和浏览器一样,由于都是 JavaScript,所以前端开发也使用 npm 作为第三方包管理工具。
例如大名鼎鼎的 jQuery、Bootstrap 等都可以通过 npm 来安装。
所以官方把 npm 定义为 JavaScript Package Manager
2.1 npm常用命令
初始化:
在项目中初始化一个 package.json 文件
凡是使用 npm 来管理的项目都会有这么一个文件
npm init
跳过向导,快速生成 package.json 文件
简写是 -y
npm init --yes
安装与升级:
! 安装指定的包,可以简写为 npm i 包名
npm 5 以前只下载,不会保存依赖信息,如果需要保存,则需要加上 `--save` 选项
npm 5 以后就可以省略 --save 选项了
! 将安装包写入到开发依赖中
npm i xxx -D将安装包写入到开发依赖中
!安装指定版本的包
npm install 包名@版本号
! 安装全局包
npm install --global 包名
! 更新本地安装的模块
! 它会先到远程仓库查询最新版本,然后查询本地版本。如果本地版本不存在,或者远程版本较新,就会安装
npm update [package name]
! 升级全局安装的模块
npm update -global [package name]
备注:什么是生产依赖与开发依赖
- 只在开发时才用到的库,就是开发依赖。例如:语法检查、代码压缩、拓展css前缀的包
- 在生产环境找那个(项目上线)不可缺少的,就是生产依赖。例如:jquery和bootStrap等
- 注意:某些包既属于开发依赖,又属于生产依赖。例如jquery。
卸载
! 卸载指定的包
npm uninstall 包名
! 查看包信息
! view 别名:v、info、show
npm view 包名
! 查看使用帮助
npm help
! 查看某个命令的使用帮助
! 例如我忘记了 uninstall 命令的简写了,这个时候,可以输入 `npm uninstall --help` 来查看使用帮助
npm 命令 --help
查看:
!npm list命令以树型结构列出当前项目安装的所有模块,以及它们依赖的模块。
npm list
加上global参数,会列出全局安装的模块
npm list -global
! npm list命令也可以列出单个模块
npm list 包名
3 cnpm
使用方法:
- 第一种,直接安装cnpm:
安装cnpm,并更改服务器地址为国内的淘宝镜像:
npm i -g cnpm --registry=https://registry.npm.taobao.org
- 第二种,将npm仓库地址设置为淘宝镜像地址(*推荐)
npm config set registry https://registry.npm.taobao.org
第二种的方式,可以只用淘宝镜像,直接用npm的命令
4 yarn
安装:npm i yarn -g
安装后执行:yarn global dir
和yarn global bin
yarn安装命令 yarn add xxx@3.1
删除 : yarn romove xxx