1. 概念
npm:node package manager,是node官方出的包管理器。www.npmjs.com检索包
npm -v//查看npm版本
npm i npm -g//npm更新至最新版本
npm init//初始化:文件夹拥有一个package.json文件--根目录(不能包含空格、中文)
2 .命令
2.1 搜索
npm search / s 包名
2.2 安装
npm install xxxxx --save//安装包信息将加入到dependencies(生产阶段的依赖)
npm i xxxx -S
npm i xxxx
npm install -g cnpm --registry=https://registry.npm.taobao.org//安装淘宝镜像
(1).安装完的第三方包,放在node_modules这里 (2).会自动产生一个package-lock.json(npm版本在5.x.x以后才有该文件),里面缓存的是每个下载过的包的地址,目的是为了下次安装时速度快一些。 (3).当安装完一个包,该包的名字会自动写入到package.json中的【dependencies(生产依赖)】里。
npm install xxxxx --save-dev//安装包信息将加入到devDependencies(开发阶段的依赖)
npm i xxxx -D
1.只在开发(写代码时)时需要依赖的库,就是开发依赖 ----- 例如:语法检查库、压缩代码、扩展css前缀的库。该包的名字会自动写入到package.json中的【devDependencies(开发依赖)】里。 2.生产环境中必不可少的库,就是生产依赖 ------ 例如:jquery。备注:所谓生产就是:项目开发完毕,要部署到服务器上运行。 3.某些库即属于开发依赖,又属于生产依赖 -------例如:jquery。
npm i xxxx -g//全局安装xxxx包
npm root -g//查看全局安装的位置
npm i xxx@yyy//安装xxx包的yyy版本--安装指定版本覆盖原先版本包
npm i//安装package.json中所有声明的包
npm config get registry//查看下包镜像源--npm海底光缆下包慢
npm config set registry=https://registry.npm.taobao.org/ //切换淘宝镜像,定期同步
npm i nrm -g //全局安装nrm
nrm ls //查找所有镜像源
nrm use taobao //切换镜像源
2.3 移除
npm remove xxxxx//移除xxxx包,并且删除该包在package.json中的声明
npm uninstall moment
2.4 查看版本
npm aduit fix//检测项目依赖中的一些漏洞,并且尝试着修复。
npm view xxxxx versions//查看npm仓库中xxxx包的所有版本信息
npm view xxxxx version//查看npm仓库中xxxx包的最新版本
npm ls xxxx//查看我们所安装的xxxx包的版本()
"^3.x.x" : 锁定大版本,以后安装包的时候,保证包是3.x.x版本,x默认取最新的。
"~3.1.x" :锁定小版本,以后安装包的时候,保证包是3.1.x版本,x默认取最新的。(功能版本)
"3.1.1" : 锁定完整版本,以后安装包的时候,保证包必须是3.1.1版本。(bug修复版本)
3 初始化包
3.1目录
mybag/
index.js:入口,按功能进行模块化处理;格式化时间并暴露出去
转义html:>替换为< 还原:<替换为>
package.json:配置文件 main表示入口文件
README.md:说明文档
3.2 发布npm
npm login//终端登录(需要切换为外国npm服务器)
npm publish//发布(需要cd到包的根目录)
npm unpublish xx --force//删除发布
4 常用包
i5ting_toc//md文件转为html
nodemon//node热更新