npm yarn
包(项目,工程)概念1、在Node.js语言中,包和模块并没有本质的不同,包是在模块的基础上更深一步的抽象,一个包就是一个项目2、包将某个独立的功能封装起来,用于发布、更新、依赖管理和进行版本控制。3、Node.js根据 CommonJS 规范实现了包机制,开发了 npm 来解决包的发布和获取需求。包的说明文件(pack...
包(项目,工程) 概念 1、在Node.js语言中,包和模块并没有本质的不同,包是在模块的基础上更深一步的抽象,一个包就是一个项目 2、包将某个独立的功能封装起来,用于发布、更新、依赖管理和进行版本控制。 3、Node.js根据 CommonJS 规范实现了包机制,开发了 npm 来解决包的发布和获取需求。 包的说明文件(package.json) 使用package.json能干什么 1、相当于你本地项目的一个文档说明。 2、允许你指定你项目中所使用的node包的版本。 3、构建你的项目更加容易,便于给其他人共享。 package.json属性详解 本质:json对象,都是双引号,不能有注释 { "name": "npm_command", //包名 "version": "1.0.0", //版本 "scripts": { //配置npm运行命令 "start": "node bin/www" }, "dependencies": {//运行依赖的包 "jquery": "^3.2.1" }, "devDependencies": {//开发依赖的包 "babel": "^6.23.0" } } 说明: "jquery": "^3.2.1" -----向上的尖括号可以管理二级,三级版本,比如当我们要下载3.0.0时,可能会下载到3.2.1 "jquery": "~3.2.1" -----波浪线可以管理三级版本。当我们要下载3.2.0时,可能会下载到3.2.1版本
npm
1、Node包管理器(npm)是一个由Node.js官方提供的第三方包管理工具,
2、npm是一个完全由JavaScript 实现的命令行工具,通过Node.js执行,因此严格来讲它不属于Node.js的一部分。
3、在最初的版本中,我们需要在安装完Node.js以后手动安装npm。但从Node.js 0.6开始,npm已包含在发行包中了,安装Node.js时会自动安装npm。现在的版本大都使用6.0以上。。。
npm命令
使用npm命令来下载依赖模块及对项目包(模块)进行管理 常用命令:
npm init: 生成package.json
npm install:用来安装package.json里的相关依赖包
npm install packageName -g(全局安装)
npm install packageName --save 安装包(局部安装---运行依赖)
npm install packageName@version --save 安装指定版本的包(局部安装)
npm install packageName --save-dev(局部安装--开发依赖)
npm info packageName (显示包的信息)
npm rm packageName (移除包)
npm config get prefix (获取全局安装包的所在地址,并且可见对应的cmd命令)
因为npm的仓库在国外,使用npm时会导致很多问题(更多的是针对5.0以下版本)
1 下载慢
2 甚至下载不了
这时我们可以用淘宝镜像:
cnpm(淘宝镜像)
淘宝镜像是阿里的,他将npm上的包同步更新到淘宝镜像上,目前是每10分钟同步一次。我们用国内的仓库下载资源比较快
配置:
npm install -g cnpm --registry=https://registry.npm.taobao.org
配置完后,我们就可以用cnpm命令了,用法和npm类似,只是把命令中的‘npm’换成‘cnpm’就可以了
我们用cnpm命令可能会遇到一些问题:
1.会多下载一些文件/文件夹
2. 严重者会导致 webstorm 瘫痪
解决上述问题的办法
修改 npm 的下载指向地址:
npm config set registry "https://registry.npm.taobao.org"
如果我们想用国外的npm怎么办,可以再次修改配置,命令如下
npm config set registry "https://registry.npm.taobao.org"
yarn(包管理工具)
yarn是Facebook开源的新的包管理器,可以用来代替npm
配置:
npm install yarn -g
特点:有缓存,没有自己的仓库地址,他用的是npm的仓库
常用命令 yarn --version yarn //相当于 npm的 npm install yarn init //生成package.json !!!注意生成的包名不能有中文,大写 yarn global package (全局安装) yarn add package (局部安装) yarn add package --dev(局部安装,开发依赖的包) yarn remove package yarn list //列出已经安装的包名 yarn info packageName
cyarn
我们用yarn也可以使用淘宝镜像,更快
配置:
npm install cyarn -g --registry "https://registry.npm.taobao.org"
常用命令:将 yarn 使用cyarn代替即可
说明
2017年5月30日发布node 8.0,其中自带的npm也由3.xxx版本升级到5.xxx。
npm5变化:
通过npm下载包的时候多了一个package.lock.json文件
package.lock.json可以记录整个node-modules中文件夹的树状结构,再次下载的时候不用先去读取包与包之间相关依赖,说的明白点 就 是记录包与包之间的关联(依赖关系)
好处:再次npm install下载的时候不用去先读取依赖可以直接下载,速度较快。
可以利用离线缓存,合理的利用了缓存,提高了下载效率
在速度上还是和yarn有些差异。
--save是一个默认属性,npm install下载包的时候会在package.json里显示依赖
注意:npm3和npm5并没有完美对接
如果之前的项目是用npm下载的包,当后期用npm下载其他包的时候之前的包的依赖是无法读取到package.lock.json里,导致之前的包无法使用,此时需要npm install重新下载。
更多推荐
所有评论(0)