10分钟了解Node.js npm
沉沙 2018-07-26 来源 : 阅读 1282 评论 0

摘要:本篇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频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程