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. AngularJS 授权 + Node.js REST api

    作者好屌啊,我不懂的他全都懂. Authentication with AngularJS and a Node.js REST api 几个月前,我开始觉得 AngularJS 好像好牛逼的样子,于 ...

  2. Node.js RESTful API

    什么是REST架构? REST表示代表性状态传输.REST是一种基于Web标准的架构,并使用HTTP协议. 它都是围绕着资源,其中每一个组件是资源和一个资源是由一个共同的接口使用HTTP的标准方法获得 ...

  3. Node.js 常用工具

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.inherits util.inherit ...

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

  5. Node.js 常用工具util包

    Node.js 常用工具 util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足. util.isError(obj); util.is ...

  6. 十个书写Node.js REST API的最佳实践(上)

    收录待用,修改转载已取得腾讯云授权 原文:10 Best Practices for Writing Node.js REST APIs 我们会通过本文介绍下书写Node.js REST API的最佳 ...

  7. 十个书写Node.js REST API的最佳实践(下)

    收录待用,修改转载已取得腾讯云授权 5. 对你的Node.js REST API进行黑盒测试 测试你的REST API最好的方法之一就是把它们当成黑盒对待. 黑盒测试是一种测试方法,通过这种方法无需知 ...

  8. 编写 Node.js Rest API 的 10 个最佳实践

    Node.js 除了用来编写 WEB 应用之外,还可以用来编写 API 服务,我们在本文中会介绍编写 Node.js Rest API 的最佳实践,包括如何命名路由.进行认证和测试等话题,内容摘要如下 ...

  9. 使用Node.js原生API写一个web服务器

    Node.js是JavaScript基础上发展起来的语言,所以前端开发者应该天生就会一点.一般我们会用它来做CLI工具或者Web服务器,做Web服务器也有很多成熟的框架,比如Express和Koa.但 ...

随机推荐

  1. HDU4641 || 6194多校 (后缀自动机-最少出现K次的字串个数 || 恰好出现K次字符串的个数)

    http://acm.hdu.edu.cn/showproblem.php?pid=4641 http://acm.hdu.edu.cn/showproblem.php?pid=6194 题意: 开始 ...

  2. Unity3D实现随机播放背景音频

    1.先在第一人称下新建空白物体,命名“audio” 2.在audio中加入Audio Source 3.在第一人称组件里添加Audio Liistener和Audio脚本 4.脚本中添加代码 usin ...

  3. Acronis

    关于这个神奇的东西也没少折腾了我,这里是它的家:http://www.acronis.com/zh-cn/ 网上也看了一些,没有头绪,总之给我的感觉就是不明觉厉.这里小结自己的学到的一些东西,算是一整 ...

  4. (转)深入剖析Redis主从复制

    一.主从概述 Redis 支持 Master-Slave(主从)模式,Redis Server 可以设置为另一个 Redis Server 的主机(从机),从机定期从主机拿数据.特殊的,一个从机同样可 ...

  5. 关闭mac自带apache的启动。

    关闭mac自带apache的启动. sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 如果哪天 ...

  6. 【es6】js原生的promise

    JavaScript 是单线程的,这意味着任何两句代码都不能同时运行,它们得一个接一个来.在浏览器中,JavaScript 和其他任务共享一个线程,不同的浏览器略有差异,但大体上这些和 JavaScr ...

  7. 四大组件之Service

    1 通过startService 1.1 与调用者相对独立,没有返回,用于播放音乐,下载文件 1.2 如果是调用者自己直接退出而没有调用stopService的话,Service会一直在后台运行.下次 ...

  8. Mathematik

    Ausdruck auf Deutsch Lösen Problem der Abteilung. 求导. Die Abteilung von 3x ist 3. 3x的导数是3 Lösen Prob ...

  9. Bundle传递数据,Handler更新UI

    Bundle主要用于传递数据:它保存的数据,是以key-value(键值对)的形式存在的. Bundle经常使用在Activity之间或者线程间传递数据,传递的数据可以是boolean.byte.in ...

  10. centos开启防火墙端口

    1. 查看已打开的端口 # netstat -anp 2. 查看想开的端口是否已开 # firewall-cmd --query-port=80/tcp 若此提示 FirewallD is not r ...