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> filename
  • options  <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

深入浅出Node.js(四):Node.js的事件机制

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的更多相关文章

  1. Node.js API 初解读(一)

    Node.JS API 初解读 Version: NodeJs v6.2.0 一. Assert 1.简介 Assert模块主要用于断言.如果表达式不符合预期,就抛出一个错误. 该模块用于编写程序的单 ...

  2. Node.js API 初解读(三)

    目录 Node.JS API 初解读三 Node.JS API 初解读三 Version: NodeJs v6.2.0 一. DNS (Domain Name Server) [域名服务器] 1.简介 ...

  3. Node.js API快速入门

    Node.js API 快速入门 一.事件EventEmitter const EventEmitter = require('events'); class MyEmitter extends Ev ...

  4. 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  ...

  5. Node.js API 初解读(二)

    四. Cluster 1.简介 在介绍 Cluster 之前.我们需要知道 node的 一些基本特性,比如说 都知道的 nodejs最大的特点就是单进程.无阻塞运行,并且是异步事件驱动的. 那么随之而 ...

  6. node.js api文档生成

    ApiDoc官网地址为:http://apidocjs.com/在Java中有Swagger及其升级版的Swagger2+Springfox自动生成接口管理文档.而在Node.js中则可以利用ApiD ...

  7. Node.js API学习笔记(一)

    此文章已经发表于本人博客. Terminal(终端) 说起这个使用过linux系统的兄台一般都会知道的,本人理解:类似Putty这些ssh工具通过 软件来实现远程控制主机,对于我们使用者来说,它会显示 ...

  8. Node.js API 学习笔记

    常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...

  9. Node.js api接口和SQL数据库关联

    数据库表创建 服务器环境配置.连接 .操作.数据库 API接口  原则:

随机推荐

  1. 重复弹Toast的解决方案

    虽然网上有很多了,还是记录一下吧, 解决思路:不用计算Toast的时间之类的,就是定义一个全局的成员变量Toast, 这个Toast不为null的时候才去make,否则直接setText.为了按返回键 ...

  2. PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获(下)

    上一节(<4.1 SNIFFER(嗅探器)之数据捕获(上)>)中, 我们讲解了通过Raw Socket的方式来编写Sniffer的基本方法. 本节我们继续来编写Sniffer,只不过使用现 ...

  3. Python之列表生成式、生成器、可迭代对象与迭代器

    本节内容 语法糖的概念 列表生成式 生成器(Generator) 可迭代对象(Iterable) 迭代器(Iterator) Iterable.Iterator与Generator之间的关系 一.语法 ...

  4. CKPlayer 只调用HTML5播放器时全屏问题 这只是Chrome浏览器的渲染bug

    如题,在系统中使用CKPlayer播放器,一切顺利,偶然发现没有全屏按钮, 正常的全屏按钮是这样的: 经过一步步调试,发现问题出在iframe, 当视频页面在iframe内时,全屏按钮不显示了,这个和 ...

  5. python3.4 data type

    #coding=utf-8 #Python 3.4 https://docs.python.org/3.4/library/ #IDE:Eclipse +PyDev Window10 import a ...

  6. Python学习笔记---形式参数(parameter)和实际参数(argument)

    def mydemo(name): '函数定义过程中的name是叫形参' #因为它只是一个形式,表示占据一个参数位置 print('传递进来的' + name + '叫做实参,因为它是具体的参数值!' ...

  7. 论JSON的重要性☞异步上传过程中data取多组值的方法

    异步上传取多组值一起post改变属性 如图: 看图说话

  8. 基于C++的类编程总结

    1. 类中public, protected, private这三个属性的区别: public意味着所有事物都能查询具有该属性的食物.(也即所有人可以在我不知情的情况下,查看我账户里还有多少钱). p ...

  9. 一步步优化JVM四:决定Java堆的大小以及内存占用

    到目前为止,还没有做明确的优化工作.只是做了初始化选择工作,比如说:JVM部署模型.JVM运行环境.收集哪些垃圾回收器的信息以及需要遵守垃圾回收原则.这一步将介绍如何评估应用需要的内存大小以及Java ...

  10. python3 数据类型

    Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典) Number(数字) Py ...