文章列表 (共 625 篇,第 12/63 页)

Node.js HTTP Server监听Unix Socket套接字

通过http.createServer()方法创建一个HTTP服务器后,要通过调用创建的server实例的listen()方法监听传入的连接。listen()方法可以监听一个TCP端口,或一个Unix Socket套接字。 server.listen()方法的几种形式 UNIX Socket套接字 Nignx对UNIX Socket的支持 1....
阅读全文 →

Node.js 核心(原生)模块整理

核心(原生)模块是指那些随Node.js安装而安装的模块,这些模块在Node.js源代码编译时被编译成二进制执行文件。相比文件模块,核心(原生)模块的加载速度更快。核心(原生)模块提供了JavaScript语言之外处理能力,如:网络处理相关模块http、net、dgram,文件及流处理fs、stream,二进制处理模块buffer,系统与进程os、proc...
阅读全文 →

Node.js 基于流将日志、错误分别写入不同文件

在一个用户进程中存在标准输入(stdin)、标准输出(stdout)、标准错误(stderr)三种流。Node.js中,对日志的操作是基于stdout、stderr两种流,如:console.log方法是向stdout写入数据,console.error是向stderr写入数据。通过stdout和stderr,或实现自定义Console对象,可以将普通日志...
阅读全文 →

Node.js 命令(CLI)的使用及命令行选项

Node.js 安装后,会同时提供一个命令行(CLI)工具。通过这个命令行工具,可以运行Node程序。通过它提供的一些命令参数选项,这些参数向内置的调试器,提供了多种脚本执行方式及其它有用的运行选项。 语法格式 使用示例 选项参数 -v, --version -h, --help -e, --eval "scri...
阅读全文 →

Node.js 事件循环(Event Loop)介绍

JavaScript是一种单线程运行但又绝不会阻塞的语言,其实现非阻塞的关键是“事件循环”和“回调机制”。Node.js在JavaScript的基础上实现,同样是单线程运行的语言。在单线程中要解决高并发的问题,就要采用非阻塞、异步编程的方式。简单的说,就是在非常耗时的I/O操作中,采用非阻塞的方式继续执行后续的代码,并且进入事件循环(Event Loop)...
阅读全文 →

Node.js 中有哪些类型的错误

Node.js应用中可能会发生多种类型的错误。如:当出现语法错误或运行时错误时,会触发JavaScript错误;当试图试访问一个不存在或没有访问的文件时,会触发系统错误;除JavaScript错误和系统错误错误外,用户还可以自定义错误。理解Node.js中错误类型,可以帮我们更好的进行错误处理和异常捕获。 错误分类 JavaScript错误与系统错误...
阅读全文 →

Node.js 中实现HTTP文件下载

HTTP实现文件下载时,只要在服务器设置好相关响应头,并使用二进制传输文件数据即可,而客户端(浏览器)会根据响应头接收文件数据。而在Node.js中,设置好响应头后,读取文件流,再使用.pipe()方法将流转接到响应对象Response就可以实现一个简单的文件下载服务器。 文件下载介绍 Node.js文件下载服务器实现 2.1 添加路由 ...
阅读全文 →

Node.js Modules模块系统

Node.js实现了一个简单的模块加载系统。在Node.js中,文件和模块是一一对应的关系,可以理解为一个文件就是一个模块。其模块系统的实现主要依赖于全局对象module,其中实现了exports(导出)、require()(加载)等机制。 模块加载 访问主模块 附:包管理技巧 总体来说… 模块缓存 核心模块 循环依赖 文件模块 文件夹...
阅读全文 →

Node.js HTTP服务器中不依赖第三方模块的文件、图片上传

在HTTP协议中,multipart/form-data格式用于向服务器发送二进制数据,通过这一内容类型(Content-Type)可以实现文件、图片的上传。由于这种格式发送的是二进制数据,在服务器端接收和处理数据时会与其它内容类型有所有区别。 HTTP协议中的文件上传 1.1 POST上传文件 1.2 HTTP数据提交与服务器数据解析 ...
阅读全文 →