![](https://img-blog.csdnimg.cn/20200512161156722.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Node.js
文章平均质量分 76
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。
不起眼的皮皮虾
这个作者很懒,什么都没留下…
展开
-
NodeJS的cookie浅析
什么是 CookieCookie 是什么,有以下几个点:Cookie 就是浏览器储存在用户电脑上的一小段文本文件Cookie 是纯文本格式,不包含任何可执行的代码Cookie 由键值对构成,由分号和空格隔开Cookie 虽然是存储在浏览器,但是通常由服务器端进行设置Cookie 的大小限制在 4kb 左右Cookie 是怎样工作的Cookie 是如何工作的:1. 首先,我们假设当前域名下还是没有 Cookie 的2. 接下来,浏览器发送了一个请求给服务器(这个请求是还没带上 Cook原创 2020-05-26 15:25:18 · 951 阅读 · 0 评论 -
NodeJS的Http客户端模块
http.request(options[, callback])optionsprotocol string 使用的协议。默认为 http:。host string 请求发送至的服务器的域名或 IP 地址。默认为 localhost。hostname string host 的别名。为了支持 url.parse(),hostname 优先于 host。family number 当解析 host 和 hostname 时使用的 IP 地址族。 有效值是 4 或 6。当未指定时,则同时使用 I原创 2020-05-26 14:25:49 · 744 阅读 · 0 评论 -
NodeJS的Stream(流)
Node.js Stream(流)Stream 是一个抽象接口,Node 中有很多对象实现了这个接口。例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出)。Node.js,Stream 有四种流类型:Readable - 可读操作。Writable - 可写操作。Duplex - 可读可写操作.Transform - 操作被写入数据,然后读出结果。所有的 Stream 对象都是 Event 的实例。常用的事件有:data - 当有数原创 2020-05-26 14:21:45 · 732 阅读 · 0 评论 -
NodeJS的Buffer模块进阶
Buffer模块进阶Buffer 类的实例类似于整数数组,但 Buffer 的大小是固定的、且在 V8 堆外分配物理内存。 Buffer 的大小在被创建时确定,且无法调整。Buffer 类在 Node.js 中是一个全局变量,因此无需使用 require('buffer').Buffer。Buffer 类在计算机内使用二进制表示数据,一个存储空间叫做一个 bit ,只能存储 0 或是 1。 通常,计算机把 8 个bit作为一个存储的单位,称为一个 Byte。于是一个 Byte 可以出现 256 种不原创 2020-05-26 14:13:25 · 752 阅读 · 0 评论 -
NodeJS的os模块
os.EOL一个字符串常量,定义操作系统相关的行末标志:\n 在 POSIX 系统上\r\n 在 Windows系统上os.arch()os.arch()方法返回一个字符串, 表明Node.js 二进制编译 所用的 操作系统CPU架构.现在可能的值有: 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', 'x64', 和 'x86'.os.homedir()os.homedir原创 2020-05-26 14:10:41 · 821 阅读 · 0 评论 -
NodeJS的Buffer(缓冲区)
Buffer(缓冲区)JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。但在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。在 Node.js 中,Buffer 类是随 Node 内核一起发布的核心库。Buffer 库为 Node.js 带来了一种存储原始数据的方法,可以让 Node.js 处理二进制数据,每当需要在 Node.js 中处理I/O操作中移动的数据时,就有可能使用 Bu原创 2020-05-26 14:06:18 · 491 阅读 · 0 评论 -
NodeJS的querystring模块进阶
querystring模块进阶querystring 模块提供了一些实用函数,用于解析与格式化 URL 查询字符串。 使用以下方法引入:const querystring = require('querystring'); querystring.escape(str)编码str对给定的 str 进行 URL 编码。该方法是提供给 querystring.stringify() 使用的,通常不直接使用。 它之所以对外开放,是为了在需要时可以通过给 querystring.escape 赋原创 2020-05-26 14:04:31 · 450 阅读 · 0 评论 -
NodeJS的PATH模块进阶
PATH模块进阶Windows 与 POSIXpath 模块的默认操作会根据 Node.js 应用程序运行的操作系统的不同而变化。 比如,当运行在 Windows 操作系统上时,path 模块会认为使用的是 Windows 风格的路径。例如,对 Windows 文件路径 C:\temp\myfile.html 使用 path.basename() 函数,运行在 POSIX 上与运行在 Windows 上会产生不同的结果:在 POSIX 上:path.basename('C:\\temp\\myfi原创 2020-05-26 14:00:57 · 912 阅读 · 0 评论 -
NodeJS的URL模块进阶
URL模块进阶一个 URL 字符串是一个结构化的字符串,它包含多个有意义的组成部分。 当被解析时,会返回一个 URL 对象,它包含每个组成部分作为属性。url模块提供了两套API来处理URLs:一个是Node.js遗留的特有的API,另一个则是通常使用在web浏览器中 实现了WHATWG URL Standard的API.WHATWG (Web Hypertext Application Technology Working Group - 网页超文本应用技术工作小组) API 浏览器厂商和标准组织原创 2020-05-26 13:54:00 · 619 阅读 · 0 评论 -
NodeJS的Http报文浅析
HTTP请求行、请求头、请求体浅析HTTP请求报文解剖HTTP请求报文由3部分组成(请求行+请求头+请求体):下面是一个实际的请求报文:①是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST。②为请求对应的URL地址,它和报文头的Host属性组成完整的请求URL。③是协议名称及版本号。④是HTTP的报文头,报文头包含若干个属性,格式为“属性名:属性值”,服务端据此获取客户原创 2020-05-26 13:50:11 · 654 阅读 · 0 评论 -
NodeJS的Http服务端模块进阶
HTTP模块http模块是用来创建http连接的,它具有少量的属性和方法,但是通过http模块操作得到的各种实例化对象却十分的复杂。HTTP模块对象的属性http.METHODS :返回解析器支持的 HTTP 方法的列表。http.STATUS_CODES :返回标准的 HTTP 响应状态码的集合,以及各自的简短描述。HTTP模块对象的 createServer 方法该方法用来创建一个服务端实例化对象语法 :http.createServer([requestListener])reques原创 2020-05-26 13:45:21 · 488 阅读 · 0 评论 -
NodeJS的FS内置模块
FS模块1. fs模块简介:文件 I/O 是由简单封装的标准 POSIX 函数提供。 通过 require(‘fs’) 使用该模块。 所有的方法都有异步和同步的形式。异步方法的最后一个参数都是一个回调函数。 传给回调函数的参数取决于具体方法,但回调函数的第一个参数都会保留给异常。如果操作成功完成,则第一个参数会是 null 或 undefined。当使用同步方法时,任何异常都会被立即抛出。 可以使用 try/catch 来处理异常。2. 常用fs模块方法:fs.accessfs.access原创 2020-05-26 13:40:48 · 479 阅读 · 0 评论 -
NodeJS的path内置模块
PATH模块常用方法:path.parse(path)把一个资源请求地址转化为一个对象n 返回的对象有以下属性:n http://www.baidu.com/js/js/mian.jsl dir路径 /js/js/l root 根目录 /l base 指定文件 main.jsl name 指定文件名 mainl ext 指定文件扩展名 .jspath.dirname(path) 方法返回一个path的目录名path.basename(path[,ext原创 2020-05-26 13:39:03 · 474 阅读 · 0 评论 -
NodeJS的url内置模块
URL模块常用方法:url.parse(urlString[,parseQueryString])urlString <string> 要解析的 URL 字符串。parseQueryString<boolean> 如果为 true,则 query 属性总会通过 querystring 模块的 parse() 方法生成一个对象。 如果为 false,则返回的 URL 对象上的 query 属性会是一个未解析、未解码的字符串。 默认为 false。url对象的属性:ho原创 2020-05-26 13:37:24 · 557 阅读 · 0 评论 -
NodeJS的HTTP内置模块
HTTP模块常用方法:http.createServer([requestListener])创建一个Web服务器requestListener <Function>该回调函数中包含两个参数,一个是request请求对象,一个是response响应对象。该函数返回一个http.server对象。server.listen([port][,hostname])监听Web服务器request.url获取路由请求地址response.writeHead(statusCode[,st原创 2020-05-26 11:49:31 · 1219 阅读 · 0 评论 -
NodeJS的模块系统优先级
NodeJS的模块系统优先级1.当模块标识具 `'/','./','../'`路径标识符,且具有明确扩展名时,那么模块的引入十分地严格;2.当模块标识具 '/','./','../' 路径标识符,但却不具有明确扩展名时,那么会优先依次查找扩展名为 '.js'、'.json'、'.node' 的文件,最后查找是否拥有对应模块标识符的文件夹,然后引入该包中的入口文件,默认为 index.js ;3.当模块不具有 '/','./','../' 路径标识符,但却拥有明确的扩展名时,那么将会引入 node_m原创 2020-05-26 11:41:45 · 639 阅读 · 0 评论 -
NodeJS的npm包管理器
npm 是什么?npm 为你和你的团队打开了连接整个 JavaScript 天才世界的一扇大门。它是世界上最大的软件注册表,每星期大约有 30 亿次的下载量,包含超过 600000 个 包(package) (即,代码模块)。来自各大洲的开源软件开发者使用 npm 互相分享和借鉴。包的结构使您能够轻松跟踪依赖项和版本。如何安装本地包有两种方式用来安装 npm 包:本地安装和全局安装。至于选择哪种方式来安装,取决于我们如何使用这个包。如果你自己的模块依赖于某个包,并通过 Node.js 的 req原创 2020-05-26 11:38:30 · 451 阅读 · 0 评论 -
NodeJS的module(模块系统)
Node.js 有一个简单的模块加载系统。 在 Node.js 中,文件和模块是一一对应的(每个文件被视为一个独立的模块)。例子,假设有一个名为 foo.js 的文件:const circle = require('./circle.js');console.log(`半径为 4 的圆的面积是 ${circle.area(4)}`); 在第一行中,foo.js 加载了同一目录下的 circle.js 模块。circle.js 文件的内容为:const { PI } = Math; exp原创 2020-05-26 11:34:08 · 2527 阅读 · 0 评论 -
Node.js的程序:Hello World!
第一个Node.js程序:Hello World!前端之Node简介脚本模式以下是我们的第一个Node.js程序:console.log("Hello World");保存该文件,文件名为 helloworld.js, 并通过 node命令来执行:node helloworld.js程序执行后,正常的话,就会在终端输出 Hello World。交互模式打开终端,键入node进入命令交互模式,可以输入一条代码语句后立即执行并显示结果,例如:$ node> console.l原创 2020-05-26 11:32:09 · 1335 阅读 · 0 评论 -
前端之Node简介
Node简介1. 为什么选择JavaScript?Ryan Dahl是一名资深的C/C++程序员,在创造出Node之前,他的主要工作都是围绕高性能Web服务器进行的。经历过一些尝试和失败之后,他找到了设计高性能,Web服务器的几个要点:事件驱动、非阻塞I/O。所以Ryan Dahl最初的目标是写一个基于事件驱动、非阻塞I/O的Web服务器,以达到更高的性能,提供Apache等服务器之外的选择。他提到,大多数人不设计一种更简单和更有效率的程序的主要原因是他们用到了阻塞I/O的库。写作Node的时候,R原创 2020-05-26 11:28:56 · 1849 阅读 · 0 评论 -
NodeJS对象Excel的操作
NodeJS对象Excel的操作读取Excel插入到数据库NodeJS通过node-xlsx来操作我们的数据库,在操作数据库的过程当中,我们可以把一些常用的方法封装起来,来进行一些简便化的操作在封装的过程当哪,一定要遵守相关的规范遵守代表注释的规范最常规的注释方法使用JSDoc文档注释高类聚,低耦合的方案/** * @author 张三 * @name Excel帮助类,提供Excel导入到数据库 * @version 1.0 * @requires DBHelper原创 2020-05-22 17:43:19 · 1570 阅读 · 0 评论 -
NodeJS之Express基础
Express基础Express它是一个NodeJS平台下面的框架,主要用于构于Web服务器项目,它是一个第三方的模块,我们可以直接通过包管理工具下载就可以了安装过程npm安装过程$ npm install express --savecnpm安装过程$ cnpm install express --save在上面的安装过程里面,我们的npm使用的是国外的服务器进行安装,而我们的cnpm则使用了内淘宝服务器进行安装npm/cnpm每 次安装都是从服务器上面下载,这样极大的浪费发我们的资原创 2020-05-22 17:28:19 · 5678 阅读 · 0 评论 -
NodeJS常用插件
NodeJS常用插件node-xlsx对Excel的读与写excel的导入导出是很多系统当中都会出现的问题,在NodeJS当中,也不例外,现在,我们就通过NodeJS来实现Excel文件的读写NodeJS里面,实现文件的读与写,我们使用的是第三方的工具node-xlsx这个模块,这个模块同时支持2003的Excel(.xls)格式与支持2007的Excel的格式(.xlsx)现在,我们就看一下这个模块的具体操作对Excel的读取操作首先,我们需要安装这个模块cnpm install no原创 2020-05-22 15:14:06 · 984 阅读 · 0 评论 -
NodeJS操作MySql数据库
NodeJs基础在NodeJS里面,NodeJS提供了一些基础的模块,供我们直接导入使用NodeJS操作MySql数据库NodeJS没有提供直接操作数据库的方法,它需要使用第三方的工具去完在这个操作,这个工具我们可以使用包管理管理工具(NPM)去获得创建项目在NodeJS项目里面,必然会有一个package.json的文件用来描述当前项目的相关信息,这个文件是通过npm init来生成的,它记录了当前项目的版本,名称,描述等相关信息,最重要的是它记录了当前项目的引用模块信息导入相关模块因为No原创 2020-05-22 14:30:08 · 309 阅读 · 0 评论 -
yarn与npm的第三方源配置
yarn第一次从服务器加载,后面就缓存不需要再次加载。 安装过程中出现网络错误安装失败,那么只需要重新安装就可以了npm每次都需要从服务器加载 安装过程中出现失败了,那么需要把node_modeles全部删了再继续使用区别开发依赖npm执行npm install vue --save-devyarn执行 yarn add vue --dev运行依赖npm执行npm install...原创 2019-12-25 15:59:51 · 323 阅读 · 0 评论 -
学生登录系统总结(express+NodeJS+Mysql)
学生登录系统总结NodeJs使用包管理(npm,cnpm,yarn)工具下载模块信息(mysql,express,art-trmplate,express-art-template,)使用系统自带path和http模块require导入文件module.exports 导出文件app.engine("html",template);设置视图文件的后缀扩展名app.set("views",path.join(__dirname,"./views"));path.join()原创 2020-05-12 11:00:55 · 499 阅读 · 0 评论 -
NodeJS、ES6新特性解析
NodeJS基础NodeJs代码就是把JS代码运行在了本地的电脑上面,它使用谷歌的V8引擎去执行代码,不用考虑代码的兼容性,它完全支持ES5以后的版本(ES5,ES6,ES7)NodeJS与普通的JS还是有一点的区别NodeJS在这里它不包含DOM与BOM,只有ECMAScriptNodeJS它的全局对象不再是window了,而一个global对象NodeJs的引入关系不再是浏览器页面里面的<script>,而是另一套导入机制叫CommonJsES6新特性ES6是2015发布的原创 2020-05-12 10:04:13 · 371 阅读 · 0 评论