web前端开发中 npm 使用详解
最近好多前端的初学朋友在问我前端里面的 npm 是什么东西,到底怎么用,只会知道一些简单的命令,但是不知其意思。我这里就在给大家分享一下前端常用的 npm 命令。
安装npm
一般来说,默认安装了Node,会自带 npm 包管理工具
查看node版本
node -v
查看npm版本
npm -v
更新npm
npm install npm -g
npm全局安装包、脚本
npm 全局(本电脑)安装包
比如安装 vue
npm install vue -g
npm 删除包
npm 删除包,如果是删除全局的,加 -g
比如删除 vue
npm uninstall vue -g
npm 安装本地项目包
默认将包安装到当前目录的本地项目
比如当前项目安装 jquery
npm install jquery
windows 下用 tree 查看文件树形图(和 npm 无关,只是小技巧)
tree /f
查看为当前项目安装的包列表
npm list
查看某个包的详细信息,安装指定版本的包
npm 安装包默认都会安装最新版,如果需要安装指定版本,先查看所有版本,然后安装指定版本
以 jquery 为例子
npm info jquery //查看 jquery 详细信息
npm view jquery versions //查看 jquery 版本(版本过多的话,一些版本会被隐藏省略)
npm view jquery versions --json //查看所有 jquery 版本(不隐藏过多的版本,全部显示)
npm install jquery@1.11.1 //安装 1.11.1 版本的 jquery
package.json
npm 包管理工具的配置文件,项目描述,介绍等等
项目名称可以由英文,下划线,连字符组成,不能包含空格
可以用手动创建,也可以用命令创建
npm init //创建 package.json 配置文件,会一步一步提示
npm init -y //创建 package.json 配置文件,默认的配置,不再提示
package.json 里面的 dependencies 表示项目依赖包(表示项目运行必须依赖的包,不论是将来上线还是现在开发)
npm install jquery --save //安装包的同时会把依赖包名称放到 package.json 里面的 dependencies
npm uninstall jquery --save //卸载项目的 jquery 包,同时将 package.json 里的 dependencise 依赖关系删掉
devDependencies 表示开发阶段项目依赖包(表示只在开发阶段需要的包,将来上线可以不需要)
npm install jquery --save-dev //安装包的同时会把依赖包名称放到 package.json 里面的 devDependencies
npm i jquery -D //以上的简写
npm uninstall jquery --save-dev //卸载项目的 jquery 包,同时将 package.json 里面的 devDependencies 依赖关系删掉
node_modules
npm安装的包都在这个文件夹里,嵌套关系复杂,整个项目下来,体积会较大,所以一般不开发的时候可以删掉,开发需要再次下载
npm install //拿到别人的项目,可以下载所有项目依赖包,会根据 package.json 配置文件开始下载
包更新安装
npm 安装的包查看更信息,是否可以更新
package.json 中的 dependencies 或者 devDependencies 里面的包的版本更新
npm 包的版本都是三位数 如:"gulp": "2.7.0"
"devDependencies": {
"gulp": "^2.7.0", //^表示更新的时候向上更新版本的 第二 位数字(常用)
"jquery": "~1.11.1",//~表示更新的时候向上更新版本的 第三 位数字(很小范围的更新,不痛不痒)
"grunt": "*", //*表示更新的时候向上更新版本的 第一 位数字 ,也就是最新版本(第一位数字的更新都是较大版本的更迭,慎用)
}
npm outdated //查看当前项目包的版本状态,可以看出是否可以更新
npm update //按照 package.json 中的更新配置向上更新
npm 下载源
一般来说,默认使用 npm 进行包安装的时候,使用的是默认源,可以通过工具 nrm 来查看,修改源,提高下载速度
npm install nrm -g //全局安装 npm 的 源工具 nrm
源工具 nrm 命令
nrm ls //显示可用源列表,列表前的 * ,表示当前使用的源
nrm test //测试所有源的速度
nrm use taobao //修改使用淘宝的源
web前端常用的 npm 包管理命令基本就这些,其他的不是很常用的就不一一列举了,欢迎各位朋友共同学习。