Node.js 常用 API
Node.js v6.11.2 Documentation(官方文档)
Buffer
Prior to the introduction of TypedArray in ECMAScript 2015 (ES6), the JavaScript language had no mechanism for reading or manipulating streams of binary data(二进制数据). The Buffer class was introduced as part of the Node.js API to make it possible to interact with octet streams in the context of things like TCP streams and file system operations.
URL
This module has utilities for URL resolution(url解析) and parsing. Call require('url') to use it.
URL(全球资源定位器(Uniform Resource Locator))
URL Parsing
url.parse() 返回对象
Parsed URL objects have some or all of the following fields, depending on whether or not they exist in the URL string. Any parts that are not in the URL string will not be in the parsed object.
Url {
protocol: 'http:', // 协议
slashes: true, // 是否有斜线
auth: null,
host: 'jingyan.baidu.com', //主机域名 including port information(包括端口)
port: null, //端口
hostname: 'jingyan.baidu.com', //主机域名
hash: null, //哈希,锚
search: null,
query: null,
pathname: '/article/93f9803fd3a4dde0e46f55f5.html', //
path: '/article/93f9803fd3a4dde0e46f55f5.html', // Concatenation of pathname and search
href: 'http://jingyan.baidu.com/article/93f9803fd3a4dde0e46f55f5.html' // The full URL
}
url.format(urlObj)
Take a parsed URL object, and return a formatted URL string.
返回一个url字符串
url.resolve(from, to)
url.resolve('/one/two/three', 'four') // '/one/two/four'
url.resolve('http://example.com/', '/one') // 'http://example.com/one'
url.resolve('http://example.com/one', '/two') // 'http://example.com/two'
url.parse(urlStr[, parseQueryString][, slashesDenoteHost])
Take a URL string, and return an object.
Pass true as the second argument to also parse the query string using the querystring module(Node.js内置的Query String模块). If true then the query property will always be assigned an object, and the search property will always be a (possibly empty) string. If false then the query property will not be parsed or decoded. Defaults to false.
Query String
This module provides utilities for dealing with query strings(查询字符串处理)
querystring.stringify(obj[, sep][, eq][, options])
Serialize an object to a query string. 把一个对象序列化为一个查询字符串
Optionally override the default separator ('&') and assignment ('=') characters(默认的分隔符是 & =).
querystring.parse(str[, sep][, eq][, options])
Deserialize(反序列化) a query string to an object. Optionally override the default separator ('&') and assignment ('=') characters.
querystring.escape querystring.unescape
querystring.escape 转义
querystring.unescape 反转义
File System
File I/O is provided by simple wrappers around standard POSIX functions. To use this module do require('fs'). All the methods have asynchronous and synchronous forms(都有异步和同步两种格式).
fs.readFile(file[, options], callback)
file<String> filenameoptions<Object> | <String>encoding<String> | <Null> default =nullflag<String> default ='r'
callback<Function>
If no encoding is specified, then the raw buffer is returned.
HTTP
To use the HTTP server and client(服务器端和客户端), one must require('http').
The HTTP interfaces in Node.js are designed to support many features of the protocol which have been traditionally difficult to use. In particular, large, possibly chunk-encoded, messages. The interface is careful to never buffer entire requests or responses--the user is able to stream data.
http.request(options[, callback])
options can be an object or a string(对象或字符串). If options is a string, it is automatically parsed with url.parse().
The optional callback parameter will be added as a one time listener for the 'response' event.
http.get(options[, callback])
Since most requests are GET requests without bodies, Node.js provides this convenience method. The only difference(与request的区别) between this method and http.request() is that it sets the method to GET and calls req.end() automatically.
EVENT
Much of the Node.js core API is built around an idiomatic asynchronous event-driven architecture in which certain kinds of objects (called "emitters") periodically emit named events that cause Function objects ("listeners") to be called.
All objects that emit events are instances of the EventEmitter class(是EventEmitter的实例). These objects expose an eventEmitter.on() function(这些对象(emitter)暴露出来.on()方法,允许添加一些listeners(Function)) that allows one or more Functions to be attached to named events emitted by the object.
The eventEmitter.on() method is used to register listeners(注册监听器), while the eventEmitter.emit() method is used to trigger the event(激发事件).
Event模块(events.EventEmitter)是一个简单的事件监听器模式的实现。具有addListener/on,once,removeListener,removeAllListeners,emit等基本的事件监听模式的方法实现。
var EventEmitter = require('events');
emitter.addListener(eventName, listener)
Alias for emitter.on(eventName, listener).
emitter.emit(eventName[, arg1][, arg2][, ...])
Synchronously calls each of the listeners registered for the event named eventName, in the order they were registered, passing the supplied arguments to each.
Returns true if the event had listeners(如果有监听), false otherwise.
emitter.listenerCount(eventName)
eventName<Value> The name of the event being listened for
Returns the number of listeners listening to the event named eventName.
emitter.listeners(eventName)
Returns a copy of the array of listeners for the event named eventName.
Path
The path module provides utilities(模块提供了关于文件路径和目录路径操作的工具方法) for working with file and directory paths.
Node.js 常用 API的更多相关文章
- AngularJS 授权 + Node.js REST api
作者好屌啊,我不懂的他全都懂. Authentication with AngularJS and a Node.js REST api 几个月前,我开始觉得 AngularJS 好像好牛逼的样子,于 ...
- Node.js RESTful API
什么是REST架构? REST表示代表性状态传输.REST是一种基于Web标准的架构,并使用HTTP协议. 它都是围绕着资源,其中每一个组件是资源和一个资源是由一个共同的接口使用HTTP的标准方法获得 ...
- Node.js 常用工具
Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...
- Practical Node.js (2018版) 第8章:Building Node.js REST API Servers
Building Node.js REST API Servers with Express.js and Hapi Modern-day web developers use an architec ...
- Node.js 常用工具util包
Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.isError(obj); util.is ...
- 十个书写Node.js REST API的最佳实践(上)
收录待用,修改转载已取得腾讯云授权 原文:10 Best Practices for Writing Node.js REST APIs 我们会通过本文介绍下书写Node.js REST API的最佳 ...
- 十个书写Node.js REST API的最佳实践(下)
收录待用,修改转载已取得腾讯云授权 5. 对你的Node.js REST API进行黑盒测试 测试你的REST API最好的方法之一就是把它们当成黑盒对待. 黑盒测试是一种测试方法,通过这种方法无需知 ...
- 编写 Node.js Rest API 的 10 个最佳实践
Node.js 除了用来编写 WEB 应用之外,还可以用来编写 API 服务,我们在本文中会介绍编写 Node.js Rest API 的最佳实践,包括如何命名路由.进行认证和测试等话题,内容摘要如下 ...
- 使用Node.js原生API写一个web服务器
Node.js是JavaScript基础上发展起来的语言,所以前端开发者应该天生就会一点.一般我们会用它来做CLI工具或者Web服务器,做Web服务器也有很多成熟的框架,比如Express和Koa.但 ...
随机推荐
- Q147 对链表进行插入排序
插入排序的动画演示如上.从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示). 每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中. 插入排序算法: 插入排序 ...
- JavaIO流总结
字节流 InputStream FileInputStream FilterInputStream BufferedInputStream DataInputStream PushbackInputS ...
- (转)MySQL主主互备结合keepalived实现高可用
MySQL主主互备结合keepalived实现高可用 原文:http://7424593.blog.51cto.com/7414593/1741717 试验环境: master:192.168.1.2 ...
- 何为session?
何为session 在计算机中,尤其是在网络应用中,称为"会话控制".session 对象存储特定用户会话所需的属性及配置信息.这样,当用户在应用程序的 Web 页之间跳转时,存储 ...
- Hibernate 查询语句基本用法
转发: http://459104018-qq-com.iteye.com/blog/720538
- malloc/free 与 new/delete 区别
malloc/free 是c++/c的标准库函数,new/delete 是c++的运算符.两者都可以申请动态内存和释放内存.对于非内部数据类型的对象而言,光用malloc/free是无法满足动态对象的 ...
- select2和bootstrap模态框一起使用导致select2的input获取不到焦点问题
select2和bootstrap模态框一起使用导致select2的input获取不到焦点问题 解决办法: 把页面中的 tabindex="-1" 删掉, 或者值改为1 代码片 ...
- ora-01747:因为表中存在关键字造成的
ORCLE报错解决(ora-01747:无效的用户.表.列,表.列) 一.ora-01747:无效的用户.表.列,表.列 这个问题出现是因为表中存在关键字造成的,如果想新增数据直接用sql语句,查询 ...
- nodejs学习笔记三(用户注册、登录)
1.定接口 /user 接口 输入 act=reg&user=aaa&pass=123456 输出 {& ...
- hadoop学习笔记(一):hadoop生态系统及简介
一.hadoop1.x的生态系统 HBase:实时分布式数据库 相当于关系型数据库,数据放在文件中,文件就放在HDFS中.因此HBase是基于HDFS的关系型数据库.实时性:延迟非常低,实时性高. 举 ...