npm -- nodejs强大的包管理器

NPM是什么

NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载、安装、上传以及管理已经安装的包。

  • npm通常是和node.js一起安装的

  • npm,node package manager,是 Node 的模块管理器,功能极其强大。它是 Node 获得成功的重要原因之一。

随着一系列基于nodes的应用/工具的出现,工作中与nodejs打交道的机会越来越多。无论在node应用的开发,还是使用中,包管理都扮演着一个很重要的作用。

NPM出现背景

我们经常需要去下载一些资源,一般的做法是去相应的官网上下载。例如jquery,就去jquery的官网,zepto就去zepto的官网去下载,这样很麻烦。我们需要有一个地方,可以下载全部的资源。

一个直观的想法,就是去建立一下网站,让所有的公司都把自己的软件上传上来,这样,用户就可以去下载了,就不用到处找官网。

它提供npm这个工具:

你可以上传自己的代码。

你可以下载别人的代码。

约定标准的文件组织结构

NPM 运行方式

在安装node.js的同时,npm就已经被安装了。你可以在任何的cmd窗口去运行npm相关命令

NPM命令

npm -v  查看npm版本号
npm init 初始化npm

使用淘宝 NPM 镜像

大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。

淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

 npm install -g cnpm --registry=https://registry.npm.taobao.org

这样就可以使用 cnpm 命令来安装模块了:

cnpm install [name]

包(package)中在根目录下必须一定要有一个package.json文件

init这个命令就可以帮助在当前目录下自动创建这个package.json这个文件。

选项的说明:

  • name: package的名字 (必须)
  • version: package的版本 (必须)
  • description: 包的描述
  • author: 包的作者姓名
  • main: 包的入口文件
  • dependencies: package的应用依赖模块
  • devDependencies: package的开发依赖模块
  • scripts: 属性是一个对象,里边指定了项目的生命周期个各个环节需要执行的命令。

NPM 常用命令

命令 描述
npm -v 查看NPM版本
npm version 查看所有模块版本
npm search 包名/部分包名 搜索包
npm init / npm init --yes / npm init -y 初始化package.json文件
npm install/i 包名 安装包
npm install 包名@版本号 安装指定版本的包
npm update 包名 更新包
npm remove / r / uninstall 包名 删除包
npm install/i 包名 --save/S 安装包并添加到依赖中
npm install 根据package.json下载当前项目依赖的包
npm list -g --depth 0 查看全局安装过的包
npm root -g 查看全局安装的包的保存目录
npm install 包名1 包名2 同时安装多个包(包名之间空格)
npm config list 查看当前的npm配置项

-g 是全局安装:安装之后,在任意目录下,打开cdm窗口你都可以使用

npm install 包名 -g

命令会安装在生产环境依赖
会修改package.json。会在package.json的dependencies属性下添加记录
运行npm install命令时,会自动安装包到node_modules目录中

npm install 包名 || npm install 包名 --save || -S

下载开发环境依赖
会修改package.json。会在package.json的devDependencies属性下添加记录
运行npm install命令时,会自动安装包到node_modules目录中

npm install 包名 --save-dev || -D

删除包
可能修改package.json.如果你安装时修改了这个文件,则删除时会去掉依赖项。
删除Node_modules下面对应文件

 npm remove / r / uninstall 包名  | 删除包 | 

查看当前的npm配置项

npm config list

npm i package -g可以让你的包下载npm root -g所指向的系统默认路径里,该路径被称之为全局路径,但是这并不能让你的包被全局访问到,如果想全局访问到第三方包,则必须配置NODE_PATH环境变量

全局安装与本地安装

npm 的包安装分为

  • 本地安装(local)
  • 全局安装(global)

从敲的命令行来看,差别只是有没有 -g 而已,比如

npm install express          //本地安装
npm install express -g   // 全局安装
(1) 本地安装:

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

(2) 全局安装:

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

发布了121 篇原创文章 · 获赞 151 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/feifanzhuli/article/details/103393043