npm

npm (node pakage manger) 是随同 NodeJS 一起安装的包管理工具。方便我们安装依赖包等操作。

什么是 npm

npm (node pakage manger) 是随同 NodeJS 一起安装的包管理工具。简单的来说就是安装 Node 开发的时需要使用第三方的依赖包,这些第三方的包就放在 npm 服务器上。

常见的使用场景有以下几种:

  • 允许用户从 npm 服务器下载别人编写的第三方包到本地使用。
  • 允许用户从 npm 服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到 npm 服务器供别人使用。

安装 Node.js 以及 npm

由于 Node.js 中已经集成了 npm,且npm 的运行需要 node 环境,所以我们只要下载 Node.js 就可以了。

Node.js 直接从官网上下载:node.js官网

Tips: Node.js 选择最新版安装即可,最好是选择 LTS 版本( 长期支持版 )

安装后可以测试 Nodenpm 是否已经安装成功,分别在命令行中输入: node -vnpm -v 即可:

$ node -v
v12.13.1

同样可以输入 npm -v 来测试 npm 是否成功安装:

$ npm -v
6.12.1

Tips: 至此,npm 就已经安装好了!

package.json 文件

提到 node 项目有一个不得不提的就是 package.json 文件。每个node 项目的根目录下面,一般都有一个 package.json 文件,该文件定义了这个项目所需要的各种模块,以及项目的配置信息(比如 名称、版本、许可证 等元数据)。

package.json 文件内部就是一个 JSON 对象,该对象的每一个成员就是当前项目的一项设置。比如 name 就是项目名称,version 是版本。当然,这些属性都是自己定义的。
我们先来大概的看一下一个仅仅初始化后的 package.json 文件是什么样子:

{
  "name": "nodeDemo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

大概的解释一下当前各个属性的含义:

  • "name" : 当前项目的名称;

  • "version" : 项目版本号,自己定义的;

  • "description" : 对项目的描述,后面的属性值也是自己写的;比如: "description": "这是我的node项目"

  • "main" : 入口文件,项目中的主函数;

  • scripts: 指定了运行脚本命令的 npm 命令行缩写,比如: 想要指定运行该文件的 start 的简写 :npm run start 就可以;

  • "keywords" : 该项目的关键字说明;

  • "author" : 项目作者名字;

  • "license" : 许可证。

Tips: package.json 文件就是项目的说明书,拿到这个项目就知道这个项目的大致信息。


后面其实在自己安装了第三包的时候也可以记录自己所安装过的包,别人在拿到这个项目的时候就可以使用 npm install 安装所有需要的依赖包,非常方便。

生成 package.json 文件

package.json 文件可以手工编写,也可以使用 npm init 命令生成:

$ npm init

然后就可以使用 npm install <包名> --save 安装包,并且包信息会保存在 package.json 文件的 dependencies 字段中。

比如我们安装了 jquery 包:

$ npm install jquery --save

安装完成后就可以在 package.json 文件中看到 "dependencies" 字段,并且保存了我们下载的 jquery 包信息:

{
  "name": "nodedemo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "jquery": "^3.5.1"
  }
}

npm常用的命令

1. 安装包

安装可以分为全局安装和当前目录下进行安装。

假如我们已经创建了一个文件 nodeDemo,并且生成过了 package.json 文件。
1、直接安装在当前目录

$ npm install jquery

以上命令会在当前项目中安装 jquery 包,但是不保存在 package.json 文件中,但是我们建议保存在 jquery.json 文件中,一是为了说明该项目用到了哪些包,二是方便别人通过 package.json 文件安装你所需要的包,从而可以运行这个项目。
所有一般都要加上 --save 命令:

$ npm install jquery --save

2、全局安装:
全局安装可能将包安装在自己计算机上的根目录下,也可能被安装在 Node的安装目录下,所以一旦是全局安装后,所有的项目都可以使用该包,无须再重复下载。
只要在命令后加上 --global 或者简写 -g 即可:

# 全局安装jquery框架
$ npm install -g jquery --save 
npm install 的简写为 npm i;
--save 的简写为 -S (大写 S )
--global 的简写为 -g

2. 卸载包

可以安装就可以卸载。使用的命令是 npm uninstall <包名>

比如卸载 jquery 包:

$ npm uninstall jquery

虽然这个命令实际项目中已经移除了 jquery ,但是在 package.json"dependencies" 字段中还没有删除包的信息,(实际默认的后缀是--no-save,也就是在 package.json 中不删除这个包的保存信息),这会对其他的人造成误解,以为需要这个包。所以我们就需要同时删除 "dependencies" 字段中对这个包的描述。

直接加上 --save 或者简写 -S:

npm uninstall jquery --save
uninstall 的简写为 un;
--save 的简写为 -S (大写 S )

3. 更新包

各种第三方的包都会不定时的更新,所以我们在项目中也可以随时更新包,获取依赖包的最新的版本。

使用的命令是 npm update <包名>
比如我们更新之前下载的 jquery 版本。

$ npm update jquery 

4. 查看所有下载过的包

我们可以在package.json 中的 dependencies 字段中查看所有安装的包也可以使用 npm list 命令就可以查看所有安装过的包:

$ npm list
-- jquery@3.5.1
`-- vue@2.6.11

可以看到我们安装了 jqueryvue 两个模块。

list 可以简写为 ls

5. 查看命令帮助

npm help 查看某条命令的详细帮助。
命令:

$ npm help <command>

使用这条命令会调用浏览器跳出一个页面介绍关于该命令的语法详细说明 :
在这里插入图片描述

还有一个命令并不会跳出浏览器提示页面,只会在当前命令行工具显示某个命令的用法,就是 npm <command> --help
例如,我们要查看 install 怎么用:

$ npm install --help

npm install (with no args, in package dir)
npm install [<@scope>/]<pkg>
npm install [<@scope>/]<pkg>@<tag>
npm install [<@scope>/]<pkg>@<version>
npm install [<@scope>/]<pkg>@<version range>
npm install <folder>
npm install <tarball file>
npm install <tarball url>
npm install <git:// url>
npm install <github username>/<github project>

aliases: i, isntall, add
common options: [--save-prod|--save-dev|--save-optional] [--save-exact] [--no-save]

6.npm 配置文件

可以通过命令的方式对 npm 进行配置。命令: npm config <command>
该命令的具体使用方法:

$ npm config --help //这里就用到了上面的命令
npm config set <key> <value>
npm config get [<key>]
npm config delete <key>
npm config list [--json]
npm config edit
npm set <key> <value>
npm get [<key>]

可以使用 npm config list 查看简要配置:

; cli configs
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.12.1 node/v12.13.1 win32 x64"

; userconfig C:\Users\CXF\.npmrc
registry = "https://registry.npm.taobao.org/"

; builtin config undefined
prefix = "C:\\Users\\CXF\\AppData\\Roaming\\npm"

; node bin location = D:\nodeJs\node.exe
; cwd = C:\Users\CXF\Desktop\nodeDemo
; HOME = C:\Users\CXF
; "npm config ls -l" to show all defaults.
  • 修改为淘宝镜像源
    由于 npm 服务器在国外,所以访问的速度很慢,主要体现在安装一些包(模块)的时候,有可能会经常安装失败,这里我们可以将配置字段 registry 指向淘宝的 npm 镜像源。
    更改方法就是:
    $ npm install -g cnpm --registry=https://registry.npm.taobao.org
    
    以后的命令都可以使用 cnpm 代替 npm
    $ cnpm install [name]
    

npm 常用的命令就这么多,以后如果需要其他的命令,查看官方文档即可。

值得参考的资料:
[1] npm官网
[2] npm中文文档

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值