
Node
仇益阳
技术无罪
展开
-
Node之中间件
中间件概述Express框架中一个非常重要的概念——中间件。在Express框架中,允许通过中间件的使用来调用各种第三方类库,这让我们的开发工作变得更为方便,也使得我们可以开发出各种更为强大的应用程序。一个中间件是一个用于处理客户端请求的函数。一个HTTP服务器中可能会使用到各种中间件。当接收到一个客户端请求时,首先将该请求提交给第一个中间件函数,每一个中间件函数内部封装一个next回调函数,...原创 2020-02-16 21:44:31 · 632 阅读 · 0 评论 -
如何部署Node项目到线上服务器?
首先我们得现有一台服务器这里以CentOS 7.6服务器为例,以node+MongoDB讲解首先介绍一下设置镜像源为淘宝镜像首先执行以下命令回到根目录root下cd ~ 1.备份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2.下载新的 CentOS-Base.repo 到...原创 2020-01-17 21:55:31 · 799 阅读 · 0 评论 -
Node之util模块中的一些实用方法
format方法format方法的作用有些类似于C语言中的printf方法。该方法将第一个参数值作为一个格式化字符串,将其他参数值作为该格式化字符串中所使用的各种参数,返回一个经过格式化处理后的字符串。util.format(format,[...])在format方法中,可以使用一个或多个参数,不限定参数个数。第一个参数为一个格式化字符串,该格式化字符串中使用零个或多个参数,参数个数等于...原创 2020-01-14 21:34:18 · 518 阅读 · 0 评论 -
Node之使用os模块获取操作系统信息
引在Node.js中,提供了一个os模块,可以使用该模块中的各种方法来获取运行应用程序的操作系统的各种信息,这些方法均不使用任何参数。tmpdir方法该方法用于获取操作系统中默认的用于存放临时文件的目录。os.tmpdir()endianness方法该方法用于获取CPU的字节序(endianness),可能返回的值为“BE”及“LE”。os.endianness()hostna...原创 2020-01-12 00:40:17 · 6429 阅读 · 0 评论 -
Node之使用dns模块解析域名
引在网络编程中,开发者更倾向于使用域名,而不是IP地址来指定网络连接的目标地址。在Node.js中,提供dns模块,以实现域名查找及域名解析的处理。在dns模块中,提供了三个主方法及一系列便捷方法。其中三个主方法分别为用于将一个域名解析为一组DNS记录的resolve方法、用于将一个IP地址转换为一组域名的reverse方法以及用于将一个域名转换为一个IP地址的lookup方法,dns模块中的...原创 2020-01-11 23:24:47 · 2761 阅读 · 0 评论 -
Node之加密与解密处理
crypto模块概述在Node.js中,使用OpenSSL类库作为其内部实现加密与解密处理的基础手段,这是因为目前OpenSSL已经成为了一个经过严格测试的可靠的加密与解密算法的实现工具。在Node.js中,OpenSSL类库被封装在crypto模块中,因此开发者可以使用crypto模块来实现各种不同的加密与解密处理。例如,crypto模块中包含了类似MD5或SHA-1之类的散列算法。开发者也...原创 2020-01-11 00:20:46 · 3546 阅读 · 0 评论 -
Node.js中的断言处理
在Node.js中,可以利用assert模块进行断言处理,即书写一些判断用测试代码,如果判断结果为假,则抛出AssertionError异常。判断两个值是否相等assert.equal(actual, expected, [message])actual:实际值expected:预期值message:自定义异常信息判断两个值不相等assert.notEqual(actual, ...原创 2020-01-08 22:50:31 · 2431 阅读 · 0 评论 -
Node.js中的错误处理
使用domain模块处理错误domain模块概述从Node.js v0.8版开始,提供domain模块。该模块中提供一个Domain对象,当应用程序在任何时刻抛出错误时可以通知该对象,然后由该对象来统一处理这些错误。使用domain模块处理错误实例var http = require('http');var domain = require('domain');http.createS...原创 2020-01-08 22:48:51 · 2703 阅读 · 0 评论 -
Node之在多个子进程中运行Node.js应用程序
引一个Node.js应用程序只能使用在一个线程中。最近,为了充分发挥多核CPU的优势,Node.js中提供了一个cluster模块,允许在多个子进程中运行不同的Node.js应用程序。使用fork方法创建worker对象在cluster模块中,可以使用fork方法开启多个子进程,在每个子进程中创建一个Node.js应用程序的实例,并且在该应用程序中运行一个模块文件cluster.fork(...原创 2020-01-07 23:46:37 · 2818 阅读 · 0 评论 -
Node之创建多进程应用程序
引在Node.js中,只使用一个线程来执行所有的操作。因此,如果在应用程序中存在某个操作需要大量消耗CPU资源的情况,则其他操作都会受到一定的影响。例如,当服务器正在执行一个非常消耗CPU资源的操作,则在该操作执行之后接收的客户端请求都需要等待该操作执行完毕后才能被处理。、近些年来,服务器一般都开始使用多核CPU或者多CPU,许多服务器应用程序都开始依靠多线程或多进程机制来处理这些请求,以便可...原创 2020-01-06 22:48:42 · 2478 阅读 · 0 评论 -
Node之进程
Node.js中的进程在操作系统中,每个应用程序都是一个进程类的实例对象。在Node.js中,使用process对象代表Node.js应用程序。该对象是一个全局对象,可以在REPL环境中或任何模块中访问该对象。该对象具有一些可被用来获取Node.js应用程序以及运行该应用程序的用户、运行环境的各种信息的属性、方法与事件。进程对象的属性Node.js中的进程对象具有的属性及属性值如下。ex...原创 2020-01-05 18:33:10 · 4677 阅读 · 0 评论 -
Node之HTTPS客户端
向其他网站请求数据在Node.js中,也可以很轻松地向任何网站发送请求并读取该网站的响应数据。在http模块中,可以使用request方法向其他网站请求数据。var req=http.request(options,callback)options:为一个对象或字符串,用于指定请求的目标URL地址,如果参数值为一个字符串,将自动使用url模块中的parse方法转换为一个对象。在optio...原创 2020-01-04 22:46:42 · 5189 阅读 · 0 评论 -
Node之HTTP发送服务器端响应流
发送服务器端响应流在createServer方法的参数值回调函数或服务器对象的request事件函数中的第二个参数值为一个http.ServerResponse对象,可以利用该对象发送服务器端响应流。response.writeHead(statusCode,[reasonPhrase],[headers])statusCode:用于指定一个三位的HTTP状态码reasonPhrase...原创 2020-01-04 22:46:16 · 4775 阅读 · 0 评论 -
Node之HTTP服务器创建服务器和获取客户端请求数据
创建HTTP服务器在Node.js中,可以很方便地创建一个HTTP服务器,只需调用http模块中的create Server方法即可var server=http.createServer([requestListener])在createServer方法中,可以使用一个可选参数,参数值为一个回调函数,用于指定当接收到客户端请求时所需执行的处理,该回调函数的指定方法如下所示。functi...原创 2020-01-02 23:08:02 · 5894 阅读 · 0 评论 -
Node之使用dgram模块实现基于UDP的数据通信
使用dgram模块实现基于UDP的数据通信TCP是一种基于连接的协议,在进行通信前,首先要求客户端与服务器端建立一条用于通信的连接。而UDP是一种面向非连接的协议,在进行通信前,不要求首先建立客户端与服务器端之间的连接,可以直接把数据包发送给对方。基于这个原因,UPD也是一种不可靠的协议,但是其传输速度比TCP更快,因此更适用于实时通信的场合。在Node.js中,提供了dgram模块,用于创建...原创 2020-01-01 22:10:37 · 10153 阅读 · 0 评论 -
Node之实现基于TCP与UDP的数据通信
在Node.js中,提供了一个net模块,专用于实现TCP服务器与TCP客户端之间的通信。创建TCP服务器在Node.js中,可以很方便地创建一个TCP服务器,只需调用net模块中的createServer方法var server=net.createServer([options],[connectionListener])options:allowHalfOpen:当该属性值被...原创 2020-01-01 00:35:57 · 9446 阅读 · 0 评论 -
Node之文件流与文件路径操作
流的基本概念用途使用异步方式使用同步方式1将文件完整写入缓存区readFilereadFileSync将文件部分读入缓存区readreadSync将数据完整写入文件writeFilewriteFileSync将缓存区中的部分内容写入文件writewriteSync在一个应用程序中,流是一组有序的、有起点和终点的字节数据的传输手段。在应...原创 2019-12-29 20:28:17 · 9350 阅读 · 0 评论 -
Node之创建与读取目录
创建目录在fs模块中,可以使用mkdir方法创建目录fs.mkdir(path,[mode],callbackpath:用于指定需要被创建的目录的完整路径及目录名;mode:用于指定该目录的权限,默认值为0777(表示任何人可读写该目录);callback:该回调函数中使用一个参数,参数值为创建目录操作失败时触发的错误对象。同步创建目录fs.mkdirSync(path,[mo...原创 2019-12-28 21:21:04 · 9147 阅读 · 0 评论 -
Node之文件的完整读写
文件的完整读写文件的读写需要引入node核心模块fslet fs=require('fs')readFile(filename, [options], callback)异步读取文件fs.readFile(filename, [options], callback)在readFile方法中,使用三个参数,其中filename参数与callback参数为必须指定的参数,options...原创 2019-12-27 17:53:03 · 9008 阅读 · 0 评论 -
Node之使用Buffer类处理二进制数据
创建Buffer对象调用new Buffer(size),size为缓存区大小new Buffer(10)fill()方法来初始化缓存区中的所有内容buf.fill(value, [offset], [end])//value:为需要被写入的数值//offset:用于指定从第几个字节处开始写入被指定的数值//end:用于指定将数值一直写入到第几字节处直接使用一个数组来初始化缓存...原创 2019-12-26 20:34:38 · 9321 阅读 · 0 评论 -
Node之模块与npm包管理器
核心模块与文件模块在Node.js中,以模块为单位划分所有功能。核心模块为Node内置模块,还有一些第三方的模块,模块是以js文件或者文件夹的形式存在于node中,每一个模块都是一个js的脚本文件如何加载模块加载模块只需要用require('模块名')在node中,可以自己编写或者从网上下载以下几种模块文件后缀名为.js的JavaScript脚本文件。后缀名为.json的JSON...原创 2019-12-25 23:54:05 · 10063 阅读 · 0 评论 -
Node之使用调试器
启动调试器node debug<需要被执行的脚本文件名>继续执行剩余代码cont或者c执行下一步next或者n进入函数内部step或者s执行函数内部剩余所有代码在函数内部代码被逐句执行的时候,可以使用“out”命令或“o”命令立即执行完函数内剩余的所有代码out或者o观察变量值或表达式的执行结果watch('观察时使用的表达式')解除观察变量值或表...原创 2019-12-24 17:39:45 · 10074 阅读 · 0 评论 -
Node之基础全局作用域及全局函数
全局对象globalsetTimeout函数与clearTimeout函数,setInterval函数与clearInterval函数与浏览器端相似不同点:定时器对象的unref方法:可以取消定时器的函数调用定时器对象的ref方法:可以重新启用定时器的函数调用使用require函数加载模块var foo = require('../foo.js');//或varhttp ...原创 2019-12-24 15:13:22 · 10783 阅读 · 0 评论 -
Node之什么是node.js是什么?
Node是什么?Node.js不是一种独立的语言,也不是一个JavaScript的框架,Node.js只是一个让JavaScript运行在浏览器之外的平台。它采用事件驱动、异步编程、为网络服务而设计,实现了诸如文件系统、模块、包、操作系统 API、网络通信等 Core JavaScript 没有或者不完善的功能。Node能做什么?具有复杂逻辑的网站基于社交网络的大规模web应用web ...原创 2019-12-23 20:46:24 · 13827 阅读 · 2 评论