nrm命令:
作用是为了设置npm镜像的
1.安装nrm :npm i nrm -g
2.显示镜像列表: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/
3.测试镜像速度:nrm text 镜像名 例如:nrm text taobao
4.使用 镜像:nrm use 镜像 例如:nrm use taobao
npm 命令:
1.查看npm 版本号 :npm -v
2.初始化npm,产生一个json文件 npm init -y
{
"name": "promise", //定义当前包名,不能有大写,用/或者-链接,并且不能与任何插件的名字重复,
//是因为在你上传npsjs官网的时候,会有限制
"version": "1.0.0", //当前的版本号,分别是大版本(项目重构,或重大改变),小版本(需求更新),微//型版本(修复bug)
"description": "",//对这个包的描述
"main": "a.js",//入口文件,再执行命令的时候把要执行的文件名写到node后面,但是要是这里是
//文件名字的话,直接写node命令就行
"type": "moudle",//写入这个就可以通过ES6的方式来导入导出方法了
"scripts": { //脚本用来执行node命令的
"test": "echo \"Error: no test specified\" && exit 1"
"start": "http-server"
'tianrui':"nodemon"//把这个方法没有下载到全局中,而是再开发依赖中,为了让这个命令仍然可以在命令行执行,使用方法 npm run start,首先先去node_modules开发依赖去寻找,就是本地项目中,若没有,再去全局中查找,要是没有,就会报错,注意,如果只是项目中有,再开发依赖中有方法,但是全局中没有nodemon这个命令就没办法使用,只有通过再脚本中添加这个方法才可以使用,例如在命令行输入npm run tianrui ,就会执行a.js这个文件,不用写a.js是因为已经把a.js写入到入口文件中去了
//在脚本执行时,比如nodemon 需要执行某个文件时,不用直接将文件名写在nodemon后面
只需要将需要执行的文件名写在入口文件中即可执行
//有些特殊的脚本名,例如start ,就不用使用run ,直接npm start 就行
},
"config": { 配置传参
"a":"1",
}, //为了传参
"dependencies": { //项目依赖 整个项目必须要使用的插件,没有这些插件项目就无法运行的
这里的内容是当前项目需要下载的项目依赖插件,项目打包的时候会把这些插件都会打包
"插件名称":"插件的版本"
"lodash":"^4.17.21", ^ 约束大版本 下载更新时保证大版本不变,其他使用最新版本
"jquery":"~3.6.0", ~ 约束大、小版本,下载更新时保证大、小版本不变更新最新微型版本
"mysql": "2.18.1" 锁定大小微版本,不更新任何内容,安装当前指定版本下载
},
"devDependencies": { 开发依赖 在开发过程中,对项目压缩打包,代码测试,代码转换等这些所使用的插件,实际项目运行时并不需要,再项目完成后不需要打包,
就是node_modules文件夹中的插件,再项目完成的时候会把node_modules删了,所以当你拿到别人的项目的时候,首先npm i 把所有的依赖都下载下来
//在开发的时候会有多个js,我们将会把多个js打包到一个文件夹中,并把这个文件夹压缩
},
"keywords": [],关键词,用于在npm中搜索当前项目的关键词
"author": "", //作者
"license": "ISC"//版权
}
3.下载到项目依赖 (dependencies):npm i 包名 npm i 包名 --save npm i 包名 S (项目完成后必须要打包)
【可以连续下载多个npm i lodash jquery -S】
4.下载到开发依赖(devDependencies): npm i 包名 -D npm i 包名 --save-dev
5.下载到全局中:npm i 包名 -g
5.1尽量不使用全局安装插件,因为项目中如果使用全局安装插件会造成两个问题
5.11、当node版本发生变化时,全局插件需要重新下载
5.12、当项目多人协作时,或者将做完的项目发给使用者时,对方并不了解如何才可以启 动该项目因为对方并不知道需要安装什么全局插件,人家也没安装
5.2解决办法
5.21、在开发依赖中添加这个全局插件
5.22、npm i下载
5.23、在脚本scripts添加命令脚本名和执行的命令
5.24、在命令行中执行 npm run 命令脚本名
6.下载指定的版本号 npm i 包名 @3.00版本号
7.查看包的所有版本号:npm view 包名 versions;就会列出所有的包的版本号
8.查看已经下载包的版本 npm ls 包名
9.卸载插件
npm uninstall 包名-g
npm uninstall 包名-S
npm uninstall 包名-D
10.更新包 :npm update 包名
11.npm有缺陷
不能断点续传 多点下载当下载一半时断网,系统会认为已经下载过了,npm再次下载时认为已经下载就报错不能下载了
需要先清理缓存再重新下载
npm cache verify 清理缓存
npm cache clean --force 强制清理
anywhere,http-server,nodemon命令
anywhere创建一个当前项目的web服务 等同于使用live server, 执行 anywhere 3000 设置这个服务的端口号
http-server 创建一个当前项目的web服务 可以做跨域代理,可以做压缩等等处理,使用时会自动日志 (以后开发时我们将使用这个,不再使用live server)
nodemon node的文件修改后,必须重新执行node命令重新执行代码,这个命令可以在修改node文件后,自动重新执行node代码