文章列表 (共 625 篇,第 12/63 页)
通过http.createServer()方法创建一个HTTP服务器后,要通过调用创建的server实例的listen()方法监听传入的连接。listen()方法可以监听一个TCP端口,或一个Unix Socket套接字。
server.listen()方法的几种形式
UNIX Socket套接字
Nignx对UNIX Socket的支持
1....
阅读全文 →
核心(原生)模块是指那些随Node.js安装而安装的模块,这些模块在Node.js源代码编译时被编译成二进制执行文件。相比文件模块,核心(原生)模块的加载速度更快。核心(原生)模块提供了JavaScript语言之外处理能力,如:网络处理相关模块http、net、dgram,文件及流处理fs、stream,二进制处理模块buffer,系统与进程os、proc...
阅读全文 →
在一个用户进程中存在标准输入(stdin)、标准输出(stdout)、标准错误(stderr)三种流。Node.js中,对日志的操作是基于stdout、stderr两种流,如:console.log方法是向stdout写入数据,console.error是向stderr写入数据。通过stdout和stderr,或实现自定义Console对象,可以将普通日志...
阅读全文 →自v8.5.0版本起,Node.js 新了性能指标收集的API-Performance Timing API,用于应用性能测试及优化。
Performance Timing API
Class: Performance
Class: PerformanceEntry
Class: PerformanceNodeTiming extends Per...
阅读全文 →
Node.js 安装后,会同时提供一个命令行(CLI)工具。通过这个命令行工具,可以运行Node程序。通过它提供的一些命令参数选项,这些参数向内置的调试器,提供了多种脚本执行方式及其它有用的运行选项。
语法格式
使用示例
选项参数
-v, --version
-h, --help
-e, --eval "scri...
阅读全文 →
JavaScript是一种单线程运行但又绝不会阻塞的语言,其实现非阻塞的关键是“事件循环”和“回调机制”。Node.js在JavaScript的基础上实现,同样是单线程运行的语言。在单线程中要解决高并发的问题,就要采用非阻塞、异步编程的方式。简单的说,就是在非常耗时的I/O操作中,采用非阻塞的方式继续执行后续的代码,并且进入事件循环(Event Loop)...
阅读全文 →
Node.js应用中可能会发生多种类型的错误。如:当出现语法错误或运行时错误时,会触发JavaScript错误;当试图试访问一个不存在或没有访问的文件时,会触发系统错误;除JavaScript错误和系统错误错误外,用户还可以自定义错误。理解Node.js中错误类型,可以帮我们更好的进行错误处理和异常捕获。
错误分类
JavaScript错误与系统错误...
阅读全文 →
HTTP实现文件下载时,只要在服务器设置好相关响应头,并使用二进制传输文件数据即可,而客户端(浏览器)会根据响应头接收文件数据。而在Node.js中,设置好响应头后,读取文件流,再使用.pipe()方法将流转接到响应对象Response就可以实现一个简单的文件下载服务器。
文件下载介绍
Node.js文件下载服务器实现
2.1 添加路由
...
阅读全文 →
Node.js实现了一个简单的模块加载系统。在Node.js中,文件和模块是一一对应的关系,可以理解为一个文件就是一个模块。其模块系统的实现主要依赖于全局对象module,其中实现了exports(导出)、require()(加载)等机制。
模块加载
访问主模块
附:包管理技巧
总体来说…
模块缓存
核心模块
循环依赖
文件模块
文件夹...
阅读全文 →
在HTTP协议中,multipart/form-data格式用于向服务器发送二进制数据,通过这一内容类型(Content-Type)可以实现文件、图片的上传。由于这种格式发送的是二进制数据,在服务器端接收和处理数据时会与其它内容类型有所有区别。
HTTP协议中的文件上传
1.1 POST上传文件
1.2 HTTP数据提交与服务器数据解析
...
阅读全文 →