npm 的使用
首先下载一下 nrm (npm下载镜像管理工具)和 nvm (node版本管理工具)
一、nrm 的使用
1、安装
- npm i nrm -g
2、显示列表
- nrm ls
3、npm 下载的镜像地址
- 使用 nrm 的命令 nrm ls 查询
- npm ---------- https://registry.npmjs.org/
- yarn --------- https://registry.yarnpkg.com/
- tencent ------ https://mirrors.cloud.tencent.com/npm/
- cnpm --------- https://r.cnpmjs.org/
- taobao ------- https://registry.npmmirror.com/
- npmMirror ---- https://skimdb.npmjs.com/registry/
5、测试各个镜像的下载速度
- nrm test 镜像名
- 例:nrm test taobao
6、使用 npm 淘宝镜像(切换镜像)
- nrm use 镜像名
- 例:nrm use taobao
二、npm
1、判断 npm 版本号
- npm -v
2、初始化 npm
- 使用 npm init -y 命令,会产生一个 package.json 的文件,包配置文件
{
"name":"0324", // 定义当前包名 (如果要上传到 npmjs 官网的时候,这个名字很重要,不能有大小写字母/或者使用 - 连接单词,这个名字也不可以与任何插件名重复,重复会影响这个插件的下载)
"version":"1.2.3", //当前包的版本号,1:大版本号 2:小版本 3:微型版本 大版本是在这个项目重构,或者重大变换的时候才会提示大版本,小版本 迭代项目是给项目添加新的功能需求时会改变,微型版本 项目中出现了bug,duiyubug的修复。
"description":"",//描述,主要对于这个包的作用描述
"main":"index.js"//入口文件
"type":"commin.js"//类型(主动加入这个配置),主要描述当前项目使用模块方式,使用 ES6 的时候改为 module
"scripts":{ // 脚本,用来执行 node 命令
"test":"echo \"Error: no test sepcified\" && exit 1"
// 脚本 使用通过 (npm run 脚本名 )执行脚本,首先会从 node_modules 这个包中这些下载的插件命令,然后再去全局中查找
// 脚本名有特殊的存在,在执行的时候不需要 run,直接使用( npm 脚本名) 就可以执行,比如:start
// 在脚本执行时,比如 nodemon 需要执行某个文件的时候,不用直接将文件名写在 nodemon 后面,只需要将需要执行的文件名写在入口文件中即可
},
"dependencies":{ // 项目依赖 整个项目必须要是用的插件,没有这些插件项目就无法运行的 这里的内容是当前项目需要下载的项目依赖插件
// 格式:"插件名称":"插件的版本号"
// "lodash":"^4.17.21", ^ 约束大版本 下载更新时保证大版本不变,其他使用最新版本
// "jquery":"~3.6.0", ~ 约束大、小版本,下载更新时保证大、小版本不变更新最新微型版本
// "mysql": "2.18.1" 锁定大小微版本,不更新任何内容,安装当前指定版本下载
// 开发完打包时会打包
}
"devDependencies":{// 开发依赖 在开发过过程中,对项目压缩打包,代码测试,代码转换等这些使用的插件,实际项目运行是不需要的依赖
// 开发完打包时,不会打包
},
"keywords":[],//关键词,用于在 npm 中搜索当前项目的关键词
"author":"",// 作者
"license":"ISC"// 版权
}
3.npm 下载方式
第一种命令下载方式
- npm i 包名
- 可以直接下载到当前的项目中
- npm i 包名 -g
- 可以下载到全局当中
- nrm 可以切换 npm 下载源镜像
第二种同时下载
- 将需要下载的插件写在 package.json 中然后使用 npm i
- 就可以自动将所有在 package.json 中列出来的插件全部下载
插件相关
anywhere
- 创建一个当前项目的 wed 服务,等同于使用 live server,执行 anywhere 3000 设置这个服务器的端口号
http-server
- 创建一个当前项目的 web 服务,可以做跨域代理,可以做压缩等等处理。使用时会自动日志(开发中使用这个代替 live server)
nodemon
- node 的文件修改后,必须使用 node 命令重新执行代码,这个代码可以修改在 node 文件后,自动重新执行 node 代码
npm i 插件名@版本号
-
下载制定版本的插件
-
npm view 插件名 versions 查看所有下载发布过的版本号
npm ls 包名
- 查看已经下载的插件版本
卸载插件
- npm uninstall 包名 -g
- 卸载 全局 插件
- npm uninstall 包名 -S
- 卸载 项目 依赖
- npm uninstall 包名 -D
- 卸载 开发 依赖
更新包
- npm update
- npm update jquery
npm 下载缺陷
- 不能断续传,多点下载
- 下载被中断的时候需要先清缓存再重新下载
- npm cache verify ------清理缓存
- npm cache clean --force ------强制清理
三、npx
- npx 是 node 包中 5.2 以后有的命令
- npx 全局插件命令 可以缓存这个命令插件,执行完成后会销毁
- 如果本地包安装饿了这个命令插件,直接调用,如果没有就会从远程拉取执行,但是不下载
四、yarn
-
yarn 和 npm 一样,都是包管理器,支持断点续传而且速度快
-
yarn init -y
- 和 npm 一样生成一个简略的 package.json 配置文件
-
yarn add 包名
- 下载包 同 npm i 包名
-
yarn upgrade 包名
- 更新 同 npm update
-
yarn remove 包名
- 卸载 同 npm uninstall
-
yarn 等同于 npm i