NPM的简单使用

2018-06-24  本文已影响0人  mxjsxz

npm是javascript的包管理工具,类似java语法当中的maven, gradle, python的pip。常见的使用场景有以下几种:

安装

npm是和Node.js一起发布的,只要安装了Node.js,npm也安装好了,可以从Node.js官网
下载对应操作系统的安装包安装即可。 安装好后,执行如下命令,检查是否安装成功。

image.png

但是由于npm自身的更新频率比Node.js高很多,所以通过上面的命令安装的npm可能不是最新版本,可以通过下面的命令单独更新npm

npm install npm@latest -g

使用 npm 命令安装模块

npm 安装 Node.js 模块语法格式如下:

npm install <Module Name>

我们使用 npm 命令安装常用的 Node.js web框架模块 express:

npm install express

注意

直接使用该命令可能会出现以下警告:


image.png

从提示可以看出来,它会检查你运行 npm 命令时所在的目录下有没有 package.json 这个文件,这是我们可以使用命令初始化一个:

npm init -f

-f表示force的意思,不加这个,npm会让你输入一堆信息,比如name、version之类,如果只是做做实验小demo,直接-f,npm帮你初始化package.json,并填充各种默认值,省事。

然后就可以愉快地npm install了。


image.png

因为我运行命令是在 D:\node\nodeNpm 下,所以生成的文件就在它里面


image.png

安装好之后,express 包就放在了工程目录下的 node_modules 目录中,因此在代码中只需要通过 require('express') 的方式就好,无需指定第三方包路径。

var express = require('express');

全局安装与本地安装

npm 的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如

npm install express          # 本地安装
npm install express -g   # 全局安装

上面一部分介绍的就是本地安装。

本地安装

  1. 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
  2. 可以通过 require() 来引入本地安装的包。全局安装

全局安装

  1. 将安装包放在 /usr/local 下或者你 node 的安装目录。
  2. 可以直接在命令行里使用。

接下来我们使用全局方式安装 express

npm install express -g

查看安装信息

你可以使用以下命令来查看所有安装的模块,-g表示查看所有全局安装的模块:

npm list -g

使用 package.json

package.json 位于模块的目录下,用于定义包的属性。我们看一下刚才初始化生成的文件内容:

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

这里的配置是最少的,刚才安装的express模块里的package.json 就不只这么点了。

Package.json 属性说明

卸载模块

我们可以使用以下命令来卸载 Node.js 模块。

npm uninstall express

卸载后,你可以到 /node_modules/ 目录下查看包是否还存在,或者使用以下命令查看:

npm ls

更新模块

npm update express

搜索模块

npm search express

创建模块

创建模块,package.json 文件是必不可少的。我们可以使用 NPM 生成 package.json 文件,生成的文件包含了基本的结果。

npm init

This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install <pkg> --save` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
name: (node_modules) runoob                   # 模块名
version: (1.0.0) 
description: Node.js 测试模块(www.runoob.com)  # 描述
entry point: (index.js) 
test command: make test
git repository: https://github.com/runoob/runoob.git  # Github 地址
keywords: 
author: 
license: (ISC) 
About to write to ……/node_modules/package.json:      # 生成地址

{
  "name": "runoob",
  "version": "1.0.0",
  "description": "Node.js 测试模块(www.runoob.com)",

}

Is this ok? (yes) yes

以上的信息,你需要根据你自己的情况输入。在最后输入 "yes" 后会生成 package.json 文件。

接下来我们可以使用以下命令在 npm 资源库中注册用户(使用邮箱注册):

$ npm adduser
Username: mcmohd
Password:
Email: (this IS public) mcmohd@gmail.com

接下来我们就用以下命令来发布模块:

$ npm publish

如果你以上的步骤都操作正确,你就可以跟其他模块一样使用 npm 来安装。

NPM 常用命令

除了上面这些,NPM还提供了很多功能,package.json里也有很多其它有用的字段。可以查看官方文档

上一篇下一篇

猜你喜欢

热点阅读