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 =null
flag
<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的更多相关文章
- Node.js API 初解读(一)
Node.JS API 初解读 Version: NodeJs v6.2.0 一. Assert 1.简介 Assert模块主要用于断言.如果表达式不符合预期,就抛出一个错误. 该模块用于编写程序的单 ...
- Node.js API 初解读(三)
目录 Node.JS API 初解读三 Node.JS API 初解读三 Version: NodeJs v6.2.0 一. DNS (Domain Name Server) [域名服务器] 1.简介 ...
- Node.js API快速入门
Node.js API 快速入门 一.事件EventEmitter const EventEmitter = require('events'); class MyEmitter extends Ev ...
- node.js(API解读) - process (http://snoopyxdy.blog.163.com/blog/static/60117440201192841649337/)
node.js(API解读) - process 2011-10-28 17:05:34| 分类: node | 标签:nodejs nodejsprocess node.jsprocess ...
- Node.js API 初解读(二)
四. Cluster 1.简介 在介绍 Cluster 之前.我们需要知道 node的 一些基本特性,比如说 都知道的 nodejs最大的特点就是单进程.无阻塞运行,并且是异步事件驱动的. 那么随之而 ...
- node.js api文档生成
ApiDoc官网地址为:http://apidocjs.com/在Java中有Swagger及其升级版的Swagger2+Springfox自动生成接口管理文档.而在Node.js中则可以利用ApiD ...
- Node.js API学习笔记(一)
此文章已经发表于本人博客. Terminal(终端) 说起这个使用过linux系统的兄台一般都会知道的,本人理解:类似Putty这些ssh工具通过 软件来实现远程控制主机,对于我们使用者来说,它会显示 ...
- Node.js API 学习笔记
常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...
- Node.js api接口和SQL数据库关联
数据库表创建 服务器环境配置.连接 .操作.数据库 API接口 原则:
随机推荐
- How to install Savanna
Pre-conditions: openstack has been installed successfully. 解压软件包中的savanna-all.tar.gz安装tar -C / -xzf ...
- 【C++自我精讲】基础系列四 static
[C++自我精讲]基础系列四 static 0 前言 变量的存储类型:存储类型按变量的生存期划分,分动态存储方式和静态存储方式. 1)动态存储方式的变量,生存期为变量所在的作用域.即程序运行到此变量时 ...
- OpenCV示例学习笔记(1)-contours2.cpp-通过findContours 函数实现轮廓提取
这个系列的目的是通过对OpenCV示例,进一步了解OpenCV函数的使用,不涉及具体原理. 示例代码地址:http://docs.opencv.org/3.0.0/examples.html(安装op ...
- [ios2]ios系统中各种设置项的url链接
在代码中调用如下代码:(ps: ios 5.0 以后不可用)NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"];[[UIAppli ...
- 数据意识崛起,从企业应用看BI软件的未来发展
前阵子,和一群企业CIO聊天,希望从甲方角度看看对BI产品的看法.在问及一些成熟企业为何不上BI项目时,大家纷纷表示目前还处于观望状态. 提及BI,大家都觉得有些飘忽,和大数据一样,听着高大上,能真正 ...
- 【Linux学习三】Linux系统目录架构
主要包括: ●bin:保存的是可执行文件,二进制,就是命令 ●boot:引导目录,操作系统的启动加载,包含版本内核文件.greb引导程序- ●dev:硬件设备文件,如硬盘.网卡.声卡.终端.显卡,每一 ...
- idea导入web项目的部署
前几天 参考 http://zyjustin9.iteye.com/blog/2172712 这篇文章的部署,一直没有问题,今天又部署了一个项目,按照这个步骤,死活却不能部署成功.最后发现,原来是在部 ...
- C语言中的位运算的技巧
一.位运算实例 1.用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句. X:2,4,8,16转化成二进制是10,100,1000,10000.如果减1则变成01 ...
- git的一些疑难点
一 .git reset,git revert,git checkout的区别和联系 主要参考:http://www.cnblogs.com/houpeiyong/p/5890748.html git ...
- Mysql 常用命令和注意事项
1. 连接mysql数据库 如果配置了环境变量可以直接运行,如果没有配置环境变量需要在安装目录...\bin下运行, cmd -> mysql -u root -p,然后输入密码: 或者可以运行 ...