来自 软件资讯 2019-11-28 05:01 的文章
当前位置: 威尼斯国际官方网站 > 软件资讯 > 正文

npm模块管理器入门,学习笔记整理

NPM 学习笔记收拾

阅读 550,2017年06月04日 发布,来源:blog.ihoey.com

 

什么是 NPM

npm 之于 Node ,就像 pip 之于 Python , gem 之于 Ruby , pear 之于 PHP 。

npm 是 Node 官方提供的包处理工科具,他早已成了 Node 包的正规化布告平台,用于 Node 包的揭橥、传播、注重调控。
npm 提供了命令行工具,令你能够方便地下载、安装、进级、删除包,也得以令你当做开荒者发布并维护包。

 

怎么要接纳 NPM

npm 是随同 Node 一同安装的包管理工科具,能一下子就解决了 Node 代码安顿上的浩大标题,成千上万的气象有以下两种:

  • 同意用户从 npm 服务器下载别人编写的第三方包到地头利用。
  • 同意顾客从 npm 服务器下载并设置旁人编写的一声令下路程序到地头利用。
  • 同意客户将团结编排的包或指令路程序上传到 npm 服务器供外人接纳。

npm 的背后,是基于 CouchDB 的叁个数据库,详细笔录了种种包的音讯,蕴含小编、版本、信任、授权音信等。它的贰个超级重大的法力正是:将开垦者从麻烦的包处监护人业(版本、重视等卡塔尔国中解放出来,越发注意于效率的付出。

 

什么行使 NPM

 

安装

npm 没有必要单独安装。在设置 Node 的时候,会相关一齐安装 npm 。但是,Node 附带的 npm 恐怕不是时尚版本,最终用上面包车型客车一声令下,更新到最新版本。

1
$ sudo npm install npm@latest -g

假使是 Window 系统使用以下命令就能够:

1
npm install npm -g

也正是选取 npm 安装自身。之所以可以那样,是因为 npm 本身与 Node 的别样模块未有区分。

然后,运转上面包车型大巴命令,查看各个消息。

1
2
3
4
5
6
7
8
9
10
11
# 查看 npm 命令列表
$ npm help
 
# 查看各个命令的简单用法
$ npm -l
 
# 查看 npm 的版本
$ npm -v
 
# 查看 npm 的配置
$ npm config list -l

什么是 NPM

npmNode 官方提供的包管理工科具,他早已成了 Node 包的正规公布平台,用于 Node 包的发布、传播、注重调节。
npm 提供了命令行工具,使您能够低价地下载、安装、升级、删除包,也足以令你作为开垦者发布并维护包。

使用

缘何要接纳 NPM

npm 是随同 Node 一齐安装的包管理工科具,能解决 Node 代码布署上的累累难题,习感觉常的景观有以下三种:

  • 允许客户从 npm 服务器下载别人编写的第三方包到地方利用。
  • 同意顾客从 npm 服务器下载并安装别人编写的下令路程序到地面利用。
  • 同意客商将本身编排的包或指令路程序上传到 npm 服务器供外人接收。

npm 的背后,是基于 CouchDB 的叁个数据库,详细笔录了种种包的音讯,饱含小编、版本、重视、授权消息等。它的三个很要紧的效果与利益正是:将开采者从麻烦的包处监护人业(版本、信赖等卡塔 尔(英语:State of Qatar)中解放出来,越发当心于作用的付出。

npm init

npm init 用来起首化生成二个新的 package.json 文件。它会向顾客咨询风姿洒脱多种主题材料,倘若你以为毫无改进私下认可配置,一路回车就足以了。
只要利用了 -f(代表force)、-y(代表yes卡塔 尔(阿拉伯语:قطر‎,则跳过咨询阶段,直接生成二个新的 package.json 文件。

1
$ npm init -y

什么样使用 NPM

npm set

npm set 用来设置碰到变量

1
2
3
4
$ npm set init-author-name 'Your name'
$ npm set init-author-email 'Your email'
$ npm set init-author-url 'http://yourdomain.com'
$ npm set init-license 'MIT'

地点命令等于为 npm init 设置了默许值,未来施行 npm init 的时候,package.json的小编姓名、邮件、主页、许可证字段就能够自行写入预设的值。这几个音讯会贮存在客商主目录的 ~/.npmrc文件,使得客商不用各种品种都输入。假若有个别项目有不一样的安装,能够针对该项目运作 npm config

安装

npm 无需独自安装。在装置 Node 的时候,会有关一同安装 npm 。但是,Node 附带的 npm 可能不是流行版本,最终用下边包车型地铁吩咐,更新到最新版本。

1
$ sudo npm install npm@latest -g

如假如 Window 系统利用以下命令就可以:

1
npm install npm -g

也便是运用 npm 安装本人。之所以得以这么,是因为 npm 本身与 Node 的别的模块未有差距。

下一场,运维上面的吩咐,查看各类消息。

1
2
3
4
5
6
7
8
9
10
11
# 查看 npm 命令列表
$ npm help
 
# 查看各个命令的简单用法
$ npm -l
 
# 查看 npm 的版本
$ npm -v
 
# 查看 npm 的配置
$ npm config list -l

npm info

npm info 命令能够查阅各种模块的切实可行音讯。举例,查看 underscore 模块的消息。

1
$ npm info underscore

地方命令归来贰个 JavaScript 对象,包含了 underscore 模块的详细新闻。这一个指标的每一个成员,都得以直接从 info 命令查询。

1
2
3
4
5
$ npm info underscore description
 
$ npm info underscore homepage
 
$ npm info underscore version

使用

npm search

npm search 命令用于寻觅 npm 饭馆,它背后能够跟字符串,也能够跟正则表达式。

1
$ npm search <搜索词>

npm init

npm init 用来带头化生成三个新的 package.json 文件。它会向客商咨询蓬蓬勃勃连串难题,固然你认为毫无校正暗中同意配置,一路回车就足以了。
若是利用了 -f(代表force)、-y(代表yes卡塔尔,则跳过咨询阶段,直接生成一个新的 package.json 文件。

1
$ npm init -y

npm list

npm list 命令以树形布局列出当前项目设置的具备模块,以至它们依附的模块。

1
2
3
4
5
6
7
$ npm list
 
# 加上 global 参数,会列出全局安装的模块
$ npm list -global
 
# npm list 命令也可以列出单个模块
$ npm list underscore

npm set

npm set 用来安装情状变量

1
2
3
4
$ npm set init-author-name 'Your name'
$ npm set init-author-email 'Your email'
$ npm set init-author-url 'http://yourdomain.com'
$ npm set init-license 'MIT'

地点命令等于为 npm init 设置了暗许值,未来试行 npm init 的时候,package.json的小编姓名、邮件、主页、许可证字段就能够自行写入预设的值。这么些音讯会存放在客商主目录的 ~/.npmrc文件,使得顾客毫无各类品种都输入。假如有个别项目有例外的设置,能够本着该类型运转 npm config

npm install

使用 npm 安装包的命令格式为:npm [install/i] [package_name]

npm info

npm info 命令能够查阅各样模块的求实新闻。比方,查看 underscore 模块的新闻。

1
$ npm info underscore

地方命令归来一个 JavaScript 对象,包含了 underscore 模块的详细音讯。这么些指标的各类成员,都足以直接从 info 命令查询。

1
2
3
4
5
$ npm info underscore description
 
$ npm info underscore homepage
 
$ npm info underscore version

当地形式和全局形式

npm 在默许情形下会从 NPM 找出或下载包,将包安装到当前目录的 node_modules 子目录下。

举例您熟识 Ruby 的 gem 或者 Python 的 pip ,你会发觉 npm 与它们的行为分化, gem 或 pip 总是以大局形式安装,使包能够供全部的前后相继行使,而 npm 暗中认可会把包安装到当前目录下。那反映了 npm 分裂的盘算文学。假若把包安装到全局,能够提供程序的再一次使用水平,防止同生机勃勃的内容的多分副本,但坏处是麻烦处理分化的版本信赖。如果把包安装到当前目录,或然说本地,则不会有差别程序注重差异版本的包的冲突难点,同有时候还减轻了包我的 API 包容性压力,但缺点则是同二个包可能会棉被服装置许数次。

大家在动用 supervisor 的时候使用了 npm install -g supervisor 命令,正是以大局情势安装 supervisor

这里注意一点的正是, supervisor 必需安装到全局,若是您不设置到全局,错误命令会提醒您安装到全局。假如不想安装到私下认可的大局,也足以协调改正全局路径到前段时间路径 npm config set prefix "路径" 安装完未来就足以用 supervisor 来运营服务了。
supervisor 能够帮助你兑现这一个效应,它会监视你对代码的驱动,并活动重启 Node 。

貌似的话,全局安装只适用于工具模块,比方 eslint 和 gulp 。关于使用全局形式,超级多时候并非因为众多主次都有超级大希望用到了它,为了减小多种别本而利用全局情势,而是因为 本地形式不会注册 PATH 意况变量
“本地安装”指的是将一个模块下载到当前项目标 node_modules 子目录,然后独有在项目目录之中,技能调用那个模块。

地面情势和全局模式的表征如下:

模式 可通过 require 使用 注册 PATH
本地模式
全局模式
1
2
3
4
5
6
# 本地安装
$ npm install <package name>
 
# 全局安装
$ sudo npm install -global <package name>
$ sudo npm install -g <package name>

npm install 也支撑直接输入 Github 代码库地址。

1
2
$ npm install git://github.com/package/path.git
$ npm install git://github.com/package/path.git#0.1.0

设置从前,npm install 会先反省,node_modules 目录之中是或不是已经存在内定模块。借使存在,就不再重新安装了,即便长途仓库已经有了三个新本子,也是那般。

倘让你指望,一个模块不管是不是安装过, npm 都要强制重新安装,能够动用 -f 或 --force 参数。

1
$ npm install <packageName> --force

npm search

npm search 命令用于寻找 npm 旅舍,它背后能够跟字符串,也能够跟正则表明式。

1
$ npm search <搜索词>

设置差异版本

install 命令总是安装模块的风靡版本,若是要设置模块的特定版本,能够在模块名背后加上 @ 和版本号。

1
2
3
$ npm install sax@latest
$ npm install sax@0.1.1
$ npm install sax@">=0.1.0 <0.2.0"

install 命令可以使用分裂参数,钦定所设置的模块归于哪豆蔻梢头种属性的正视关系,即出未来 packages.json 文件的哪黄金时代项中。

–save:模块大将被增添到 dependencies,能够简化为参数-S。
–save-dev:模块主力被增添到 devDependencies,能够简化为参数-D。

1
2
3
4
5
$ npm install sax --save
$ npm install node-tap --save-dev
# 或者
$ npm install sax -S
$ npm install node-tap -D

npm list

npm list 命令以树形布局列出当前项目设置的装有模块,以致它们依附的模块。

1
2
3
4
5
6
7
$ npm list
 
# 加上 global 参数,会列出全局安装的模块
$ npm list -global
 
# npm list 命令也可以列出单个模块
$ npm list underscore

本文由威尼斯国际官方网站发布于软件资讯,转载请注明出处:npm模块管理器入门,学习笔记整理

关键词: