使用NodeJS模块-第三方提供的模块(什么是npm)
第三方开发者提供的模块
第三方模块是由NodeJS社区或第三方个人开发的功能模块,这些功能模块以软件包的形式存在。被发布在npmjs注册表中。npmjs是一个注册中心,所有软件包的信息都会被记录到该注册中的数据库中,我们可以来到npmjs官方站点,根据关键字搜索自己需要的软件包
什么是npm
npm是世界上最大的软件注册机构(登记处)来自世界各地的开源开发者可以使用npm来共享自己写的软件包,也可以使用他人写的软件包;
由三部分组成
- npmjs官方站点,用于搜索你想使用的软件包;
- 注册表,一个大型的公共数据库,记录了所有软件包的信息;
- 命令行界面,开发者与npm交互的工具;

点击软件包的名字会跳转到软件包的详情页面:

我们需要的软件包已经找到了,但是我们怎么样去使用软件包提供的功能呢?
我们可以通过NPM(Node Package Manager)使用软件包,NPM是NodeJS的包管理器,它提供了一系列的命令,可以帮我们安装、删除、更新、搜索以及创建自己的软件包。
由于只有软件包才是使用其他的软件包,因此我们必须要先创建自己的软件包,然后才能在自己的软件包中使用其他的软件包。
我们怎么样去创建自己的软件包呢?答案是通过NPM提供的一系列命令创建自己的软件包。
1、 在合适的目录下,打开命令窗口,创建软件包的目录,并切换到该目录下:
mkdir lodashdemo && cd loadshdemo
2、 使用NPM提供的命令,初始化软件包,你需要回答几个问题,回答完毕之后会生成一个package.json文件,该文件记录了软件包的所有信息。
npm init

3、如果你只是想把创建的包作为一个本地项目,并不想将它发布到npmjs注册中心(不想让别人使用你的软件包),你需要移除package.json文件中的main字段,然后添加private字段,并指定其值为true,表示这是私有的软件包。修改之后的结果如下:
{
"name": "lodashdemo",
"version": "1.0.0",
"description": "讲解 NPM 包管理器的使用方法",
"private": true,
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [
"demo",
"lodash",
"陈老师"
],
"author": "陈老师",
"license": "MIT"
}
3、 使用NPM的命令安装第三方模块,此步骤需要访问网络。
npm install lodash --save-prod
- install也可以简写成i
- --save-prod 将 lodash 模块作为当前软件包的产品依赖,并将依赖信息记录到package.json文件中的dependencies字段中
- 此外,初次执行install命令时,还会生成一个package-lock.json文件,该文件记录了当前软件包所依赖的其他软件包的详细信息,用于将软件包锁定到特定的版本。
- 安装完成之后,当前项目的目录下会生成一个node_modules/目录,目录中保存就是我们下载后的软件包。
4、 创建自己的项目文件,例如,app.js文件,导入第三方模块,即可使用模块提供的功能
// 导入 lodash 模块
const _ = require('lodash'); // 使用 lodash 模块提供的方法
const add = _.add(12, 56)
console.log(add) const subtract = _.subtract(8, 4)
console.log(subtract) const multiply = _.multiply(8, 4)
console.log(multiply)
使用NodeJS模块-第三方提供的模块(什么是npm)的更多相关文章
- NodeJS的url信息截取模块url-extract
NodeJS的url信息截取模块url-extract2013-09-12 22:49 by Justany_WhiteSnow, 212 阅读, 0 评论, 收藏, 编辑 上一篇文章,介绍了怎么利用 ...
- nodejs学习第一天之模块
1.运行js文件 2.node 与 js 的区别 相同:数据类型,语法结构,对象 等基本一致 不同:在js中的顶层对象window 在node中没有在node中 顶层对象为global对象 其不对外 ...
- nodejs入门API之net模块
net常用API解析以及应用 手动解析HTTP请求头 基于网络模块net与文件模块fs搭建简易的node服务 net模块部分API参数详细解析 一.net常用API解析以及简单的应用 net模块的组成 ...
- logging日志模块详细,日志模块的配置字典,第三方模块的下载与使用
logging日志模块详细 简介 用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么 了,但是当我需要看大量的地方或者在一个文件中查看的时 ...
- subprocess模块还提供了很多方便的方法来使得执行 shell 命令
现在你可以看到它正常地处理了转义. 注意 实际上你也可以在shell=False那里直接使用一个单独的字符串作为参数, 但是它必须是命令程序本身,这种做法和在一个列表中定义一个args没什么区别.而如 ...
- python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块hashlib(提供了常见的摘要算法,如MD5,SHA1等等) #http://www.c ...
- nodejs学习笔记四(模块化、在npm上发布自己的模块)
模块化: 1.系统模块: http.querystring.url 2.自定义模块 3.包管理器 [系统模块] Assert 断言:肯定确定会出现的情 ...
- Magicodes.Pay,打造开箱即用的统一支付库,已提供ABP模块封装
Magicodes.Pay,打造开箱即用的统一支付库,已提供ABP模块封装 简介 Magicodes.Pay,是心莱科技团队提供的统一支付库,相关库均使用.NET标准库编写,支持.NET Framew ...
- 使用nodejs进行开发,concurrently模块,使我们同时执行多个命令。
concurrently模块使用. 安装模块 npm install concurrently 配置concurrently 运行多个服务 当我们使用nodejs和vue混合开发的时候.当要同时启动后 ...
随机推荐
- 百度大脑UNIT3.0详解之知识图谱与对话
如今,越来越多的企业想要在电商客服.法律顾问等领域做一套包含行业知识的智能对话系统,而行业或领域知识的积累.构建.抽取等工作对于企业来说是个不小的难题,百度大脑UNIT3.0推出「我的知识」版块专门为 ...
- docker安装redis 5.0.7并挂载外部配置和数据
环境 CentOS Linux release 7.7.1908 (Core) 拉取redis 5.0.7 镜像 docker pull redis:5.0.7 创建挂载目录 mkdir -p /ho ...
- 基于H7的串口WIFI模块ESP8266的TCP客户端例子和操作说明(AP兼STA模式)
说明: 1.如果不熟悉网络的话,等我这几天更新V7用户手册的ESP8266章节,如果熟悉的话,直接操作即可,这里将操作说明发出来. 2.串口WIFI是采用的AT指令操作,简单易用,指令手册在这个帖子里 ...
- JavaScript图形实例:布纹图案
1.椭圆型布纹图案 先在HTML页面中设置一个画布. <canvas id="myCanvas" width="300" height="300 ...
- 8年开发老司机告诉你啥是java开发?如何学?学习什么内容?
什么是Java? 我从Java的官网上抄下来下面这段话:97% 的企业桌面运行 Java美国有 89% 的桌面(或计算机)运行 Java全球有 900 万 Java 开发人员开发人员的头号选择排名第一 ...
- 使用系统定时器SysTick实现精确延时微秒和毫秒函数
SysTick定时器简介 SysTick定时器是存在于系统内核的一个滴答定时器,只要是ARM Cortex-M0/M3/M4/M7内核的MCU都包含这个定时器,它是一个24位的递减定时器,当计数到 0 ...
- python 调试大法
说在前面 我觉得没有什么错误是调试器无法解决的,如果没有,那我再说一遍,如果有,那当我没说 一.抛出异常 可以通过 raise 语句抛出异常,使程序在我们已经知道的缺陷处停下,并进入到 except ...
- 搭建ES集群
服务版本选择 TEG的ctsdb当前最高版本采用的是es的6.4.3版本,为了日后与ctsdb衔接方便,部署开源版es时也采用该版本.6.4.3版本的es依赖的jdk版本要求在8u181以上,测试环境 ...
- Java学习笔记 -- 头代码
每次写Java程序都会忘记这个main代码怎么写,特意把他写下来,之后忘了还可以温故而知新. 程序猿们请千万不要鄙视我o(╯□╰)o public static void main(String[] ...
- 【计算机网络】ISO/OSI 网络体系结构
ISO/OSI 网络体系结构 计算机网络是相当复杂的系统,相互通信的两个计算机系统必须高度协调才能正常工作.为了设计这样复杂的计算机网络,人们提出了将网络分层的方法.分层可将庞大而复杂的问题转换为若干 ...