开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情
前言
作为一名前端开发人员,又在使用各种angular、vue、react框架流行的时代中,相信大家对npm并不陌生,npm命令在日常开发过程中经常会用到,我在项目中用到最多的就是npm start,但是,npm具体是做什么的,大家了解吗?今天就带大家了解下npm。
一、npm是什么
简单来说,npm就是Nodejs软件包管理工具
二、npm大体思路
- 首先,你要有个存放共享代码的地方,所以就要买个服务器来作为代码仓库
- 其次你需要共享出去呀,发邮件通知JQuery、Bootstrap、Undersore作者,然后使用npm publish把代码提交到registry上面,然后取个名,如jquery、bootstrap、underscore.
- 社区里的人看到了,觉得不错,哎呀,想自己用怎么办,那就把jquery、bootstrap、和underscore写到package.json里面,运行npm install,npm就会帮他们下载下来啦。
- 下载下来的代码呢,就会在node_modules目录里面,就可以供开发者随意使用啦
- 这些下载下来的代码是就是包(package)
三、npm使用场景
- 允许用户从NPM服务器下载他人编写的第三方包到本地使用
- 允许用户从NPM服务器下载并安装他人编写的命令行程序到本地使用
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供他人使用
四、npm常用命令
| 序号 | 命令 | 解析 |
|---|---|---|
| 1 | npm -v | 查看版本号 |
| 2 | npm --help | 查看npm所有命令 |
| 3 | npm adduser | 添加 npm 账号 |
| 4 | npm init | 构建项目说明,生成 package.json文件 |
| 5 | npm view jquery versions | 查看历史版本信息(最多只能显示100条) |
| 6 | npm view node versions --json | 查看所有版本信息 |
| 7 | npm view jquery version | 查看最新版本信息 |
| 8 | npm info jquery | 查看所有版本及jquery的信息 |
| 9 | npm ls jquery | 查看本地安装的jquery版本 |
| 10 | npm ls jquery -g | 查看全局安装的jquery版本 |
| 11 | npm i jquery@3.2.3 | 安装指定版本 |
| 12 | npm i jquery | 安装推荐的版本 |
| 13 | npm i jquery@latest | 安装指定、最新版本 |
| 14 | npm install gulp | 安装依赖 |
| 15 | npm update gulp | 可以把当前目录下node_modules子目录里边的对应模块更新至最新版本 |
| 16 | npm update gulp -g | 可以把全局安装的对应命令行程序更新至最新版 |
| 17 | npm uninstall gulp@3.0.0 --save | 卸载依赖 |
| 18 | npm install cnpm -g --registry= registry.npm.taobao.org | 安装淘宝镜像 |
| 19 | npm config list | 查看npm的配置 |
| 20 | npm config set registry registry.npm.taobao.org | 设置淘宝镜像源 |
| 21 | npm config set registry registry.npmjs.org | 设置npm源 |
| 22 | npm set disturl npm.taobao.org/dist | 设置资源库从淘宝库获取 |
| 23 | npm cache clean --force | 清空npm本地缓存 |
| 24 | npm run dev/test/build | 执行script命令 |
| 25 | npm login | 发布包时登录npm账号用的 |
| 26 | npm publish | 发布包到npm官方库 |
| 27 | npm unpublish test | 撤销已发布的包 |
| 28 | npm unpublish test --force | 强制撤销 |
| 29 | npm unpublish test@1.0.2 | 可以撤销发布自己发布过的某个版本代码 |