前端构建工具(2) -- npm&yarn

前言

简介:
node的包管理器,它随nodejs一块儿安装,即你安装了nodejs就能够用npm进行包管理,经过npm能够从npm服务器下载别人上传的第三方库,下载并安装别人上传的命令行程序,上传本身写的第三方库和命令行程序
可用npm -v查看npm版本号肯定npm是否可用,若是npm版本太低,可使用npm -install npm -g 进行升级node

package.json:
package.json是项目的配置文件,npm会按照package.json中的配置进行包的安装和更新,package中有内容主要是项目名称name,版本version,拥有者author,证书license,依赖dependencies,开发环境依赖devdependencies等,更新包时,每次都按照package.json都下载大版本相同的最新包git

package-lock.json:
package-lock.json中固定依赖包的版本到当前所用的包版本号,而不是只固定大版号,这样能够避免有些包虽然大版本号相同,可是接口不兼容。github

一、 安装包

1.0 安装npm

$ npm install <packageName> 
$ npm install <packageName> --force
$ npm install <packageName> [-g||-global]  [--save -dev]
  • 机制:安装前npm install会先检查node_modules目录里是否已经存在包,若是无则安装,若是有不管远程仓库有没有最新版本都不安装,若但愿不管是否存在都从新安装,则强制安装:npm install (包名) --f/--force

1.1 全局安装:json

npm install < packageName> -g  || -global
  • 参数 -g / -global 表明安装到全局环境中,即包安装在Node安装目录下的node_modules文件夹中,通常在 \Users\用户名\AppData\Roaming\npm\node_modules,而且写入系统环境变量,能够经过命令行在任何位置调用它,通常全局安装的是有命令行需求的packge

1.2 本地安装:服务器

npm install package-name || npm install package-name --save -dev
  • 本地安装,包安装在当前定位目录的node_modules文件夹下,经过require()调用,通常安装在本地的是仅该项目须要的包
  • 参数--save 的含义是表明把你的安装包信息写入package.json文件
  • -dev 将安装包信息写入devDependencies字段中,若是不使用-dev则信息写入Dependencies字段中
  • 注:使用packge.json是由于npm安装的包很大,因此不加入版本管理,将包版本信息加入package.json进行版本管理,npm根据该信息进行包版本管理

1.3 package-lock.json
执行npm install 的时候以后项目中会增长一个package.json文件网站

二、 其他经常使用命令行

2.1 更新已经安装包ui

$ npm update <packageName>
  • 机制:先查询远程仓库最新版本,再查询本地版本,若不是最新则更新

2.2查看npm的帮助命令行

$ npm help

2.3 查看已经安装的包列表版本控制

$ npm list

2.4 初始化 package.json 文件

npm init

初始化生成一个新的 package.json 文件。它会向用户提问一系列问题,若是你以为不用修改默认配置,一路回车就能够了。若是使用了 -f(表明force)、-y(表明yes),则跳过提问阶段,直接生成一个新的package.json 文件。

三、淘宝镜像cnpm

npm 安装包的过程就是从http://registry.npmjs.org网站 上进行下载和安装,可是用于该网站在国外,国内进行安装速度通常比较慢,因此淘宝团队搭建了一个镜像服务器http://npm.taobao.org ,该服务器每十分钟进行一次更新,彻底复刻国外的服务器,可是不能上传包,只能下载安装更新
配置淘宝镜像:

npm install cnpm -g -registy="http://npm.taobao.org"

配置完成以后能够用cnpm代替npm进行安装包,配置完后检查是否配置成功

cnpm -v

四、npm与yarn

yarn诞生比较晚,但诞生以后就迅速受到热捧,并在github上获得start超过npm,yarn一开始是为了解决npm语义版本控制致使安装不肯定性的问题


待续

相关文章
相关标签/搜索