1.1 简介

1.NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统,里面所有的模块都是开源免费的,相当于Maven。
2.官方网站:https://www.npmjs.com/

#在命令提示符输入npm -v 可查看当前npm版本
npm -v

3.作用:
(1)快速构建nodejs工程
(2)快速安装和依赖第三方模块,比如npm install mysql redis等等

1.2 使用npm管理项目

1.创建文件夹npm

#建立一个空文件夹,在命令提示符进入该文件夹  执行命令初始化
npm init
#按照提示输入相关信息,如果是用默认值则直接回车即可。
#name: 项目名称
#version: 项目版本号
#description: 项目描述
#keywords: {Array}关键词,便于用户搜索到我们的项目
#最后会生成package.json文件,这个是包的配置文件,相当于maven的pom.xml
#我们之后也可以根据需要进行修改。

2.这是我项目初始化的操作

PS E:\javalianxi\npm> 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 init` for definitive documentation on these fields
and exactly what they do.

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

Press ^C at any time to quit.
package name: (npm)
version: (1.0.0) 1.0.1
description: node工程
entry point: (index.js)
test command:
git repository:
keywords:
author: wlm
license: (ISC)
About to write to E:\javalianxi\npm\package.json:

{
  "name": "npm",
  "version": "1.0.1",
  "description": "node工程",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "wlm",
  "license": "ISC"
}


Is this OK? (yes) yes
PS E:\javalianxi\npm>

3.操作完之后会生成新的代码和一个新的文件,其实就是我们上面刚刚构建的东西

{
  "name": "npm",//工程名
  "version": "1.0.1",//项目的版本
  "description": "node工程",//描述
  "main": "index.js",//入口js文件
  "scripts": {//运行脚本
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "wlm",//开发者
  "license": "ISC"/授权协议
}

nmp仓库 和maven仓库_npm


4.我们也可以更加简单的操作

#如果想直接生成 package.json 文件,那么可以使用命令
npm init -y

nmp仓库 和maven仓库_npm_02

1.3 npm镜像

1.修改npm镜像
NPM官方的管理的包都是从 http://npmjs.com下载的,但是这个网站在国内速度很慢。
这里推荐使用淘宝 NPM 镜像 http://npm.taobao.org/
淘宝 NPM 镜像是一个完整 npmjs.com 镜像,同步频率目前为 10分钟一次,以保证尽量与官方服务同步。
2.设置镜像地址

#经过下面的配置,以后所有的 npm install 都会经过淘宝的镜像地址下载
npm config set registry https://registry.npm.taobao.org
#查看npm配置信息
npm config list

nmp仓库 和maven仓库_前端_03

3.安装包 npm install

#使用 npm install xxx 或者npm i xxx 安装依赖包的最新版
#模块安装的位置:项目目录\node_modules
#安装会自动在项目目录下添加 package-lock.json文件,这个文件帮助锁定安装包的版本
#同时package.json 文件中,依赖包会被添加到dependencies节点下,类似maven中的 <dependencies>
"dependencies": {
    "mysql": "^2.18.1",
    "redis": "^3.1.2"
  }

nmp仓库 和maven仓库_nmp仓库 和maven仓库_04


4.导入之后使用方法

// 导入redis模块
const redis = require("redis");
// 导入mysql模块
const mysql = require("mysql");

5.其他的一些安装命令

npm install jquery
#如果安装时想指定特定的版本
npm install jquery@2.1.x
#devDependencies节点:开发时的依赖包,项目打包到生产环境的时候不包含的依赖
#使用 -D参数将依赖添加到devDependencies节点
npm install --save-dev eslint
#或
npm install -D eslint
#全局安装
#Node.js全局安装的npm包和工具的位置:用户目录\AppData\Roaming\npm\node_modules
#一些命令行工具常使用全局安装的方式
npm install -g webpack
#npm管理的项目在备份和传输的时候一般不携带node_modules文件夹
npm install #根据package.json中的配置下载依赖,初始化项目

1.4 其他命令

#更新包(更新到最新版本)
npm update 包名
#全局更新
npm update -g 包名
#卸载包
npm uninstall 包名
#全局卸载
npm uninstall -g 包名