摘要:本篇Node.js教程探讨了Node.js npm的相关内容,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入。
Node程序包管理(NPM)提供了以下两个主要功能:
1.在线存储库的Node.js包/模块,可搜索 search.nodejs.org
2.命令行实用程序来安装Node.js的包,做版本管理和Node.js包依赖管理。
NPM捆绑v0.6.3版本在一起以后,Node.js可直接安装。为了验证一致性,打开控制台,然后输入以下命令,看到的结果:
$ npm --version2.7.1
$ sudo npm install npm -g
/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.jsnpm@2.7.1 /usr/lib/node_modules/npm
使用NPM安装模块
有一个简单安装任何Node.js模块,语法如下:
$ npm install <Module Name>
例如,下面是安装一个著名的Node.jsweb框架模块的命令叫 express:
$ npm install express
现在,你可以在js文件中使用此模块如下:
var express = require('express');
全局VS本地安装
默认情况下,NPM安装任何依赖在本地模式。在这里,本地模式是指包安装在node_modules目录位于的地方节点应用程序存在的文件夹中。本地部署的包都可以通过 require()方法进行访问。例如,当我们安装Express模块,它安装Express模块当前目录中创建node_modules目录。
$ ls -l
total 0
drwxr-xr-x 3 root root 20 Mar 17 02:23 node_modules
另外,您可以使用npm ls命令列出了所有本地安装的模块。
全局范围内已安装的软件包/依赖性都存储在系统目录中。这种依赖关系可以在任何Node.js的CLI(命令行界面)功能可以使用,但不能直接使用require()的Node应用程序中导入。 现在,让我们尝试使用全局安装Express模块。
$ npm install express -g
这将产生类似的结果,模块将在全局范围内安装。在这里,第一行讲述了在那里得到安装模块版本和它的位置。
express@4.12.2 /usr/lib/node_modules/express
├── merge-descriptors@1.0.0
├── utils-merge@1.0.0
├── cookie-signature@1.0.6
├── methods@1.1.1
├── fresh@0.2.4
├── cookie@0.1.2
├── escape-html@1.0.1
├── range-parser@1.0.2
├── content-type@1.0.1
├── finalhandler@0.3.3
├── vary@1.0.0
├── parseurl@1.3.0
├── content-disposition@0.5.0
├── path-to-regexp@0.1.3
├── depd@1.0.0
├── qs@2.3.3
├── on-finished@2.2.0 (ee-first@1.1.0)
├── etag@1.5.1 (crc@3.2.1)
├── debug@2.1.3 (ms@0.7.0)
├── proxy-addr@1.0.7 (forwarded@0.1.0, ipaddr.js@0.1.9)
├── send@0.12.1 (destroy@1.0.3, ms@0.7.0, mime@1.3.4)
├── serve-static@1.9.2 (send@0.12.2)
├── accepts@1.2.5 (negotiator@0.5.1, mime-types@2.0.10)
└── type-is@1.6.1 (media-typer@0.3.0, mime-types@2.0.10)
您可以使用下面的命令来检查所有全局安装的模块:
$ npm ls -g
使用package.json
package.json是存在于任何Node应用程序/模块的根目录和用于定义一个包的属性。让我们打开package.json在当前 node_modules/express/
{
"name": "9m",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "^1.13.3",
"cookie-parser": "~1.3.5",
"debug": "~2.2.0",
"ejs": "~2.3.3",
"express": "~4.13.1",
"express-useragent": "~0.2.0",
"gridfs-stream": "^1.1.1",
"mime": "^1.3.4",
"moment": "^2.10.3",
"mongodb": "^2.0.45",
"mongoose": "4.1.11",
"mongoose-schema-extend": "^0.1.7",
"morgan": "~1.6.1",
"multer": "~1.0.6",
"pandas": "0.0.3",
"python-shell": "0.2.0",
"redis-sessions": "^0.5.3",
"serve-favicon": "~2.3.0"
},
"devDependencies": {
"should": "^7.1.0"
}
}
Package.json的属性
name - 包的名称
version - 包的版本
description - 包的描述
homepage - 包主页
author - 包的作者
contributors - 贡献者到包的名字
dependencies - 依赖关系的列表。NPM自动安装所有在这里的包node_module文件夹中提到的依赖关系。
repository - 包的库类型和URL
main - 包的入口点
keywords - 关键字
卸载模块
使用下面的命令卸载Node.js的模块。
$ npm uninstall express
一旦NPM卸载包,可以通过查看/node_modules/目录下的内容或验证键入以下命令:
$ npm ls
更新模块
更新package.json并改变其被更新并运行以下命令依赖的版本。
$ npm update express
搜索模块
搜索使用NPM包名。
$ npm search express
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注WEB前端Node.js频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号