Day: June 22, 2016

Node.js web应用模块之forever

javascript 一统江湖的势头越来越猛,越来越重的前端,不得不实施前后端分离,angular.js 成功把前端javascript抽象成了一个复杂的MVC框架,注意,它是一个框架,可不是普普通通的插件,或者工具包. 另一位兄弟则是跳出浏览器宿主的限制,活跃在了服务器端,大名鼎鼎的 node.js 还有一位齐头并进的好哥们 mongodb ,它不仅让你使用熟悉的javascript范围数据库,而且还自己实现了javascript引擎. 可能创建 javascript 语言的大牛,看到今天js的发展事态,想必脊梁骨也是阵阵发凉. 我们好像扯远了,开题先痛痛快快意淫一把怎能善罢甘休,O(∩_∩)O~ 由于node.j… Read More

Node.js GET/POST请求

在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交。 表单提交到服务器一般都使用GET/POST请求。 本章节我们将为大家介绍 Node.js GET/POST请求。 获取GET请求内容 由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。 node.js中url模块中的parse函数提供了这个功能。 var http = require('http'); var url = require('url'); var util = require('util'); http.createServer(function(req, res){ res.w… Read More

Node.js: NPM 使用介绍

NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用。 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。 由于新版的nodejs已经集成了npm,所以之前npm也一并安装好了。同样可以通过输入 “npm -v” 来测试是否成功安装。命令如下,出现版本提示表示安装成功: $ npm -v 2.3.0 如果你安装的是旧版本的 npm,可以很容易得通过 npm 命令来升级,命令如下: $ sudo npm instal… Read More

Node.js Domain 模块

Node.js 工具模块 Node.js Domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常。引入 Domain 模块 语法格式如下: var domain = require("domain") domain模块,把处理多个不同的IO的操作作为一个组。注册事件和回调到domain,当发生一个错误事件或抛出一个错误时,domain对象 会被通知,不会丢失上下文环境,也不导致程序错误立即推出,与process.on(‘uncaughtException’)不同。 Domain 模块可分为隐式绑定和显式绑定: 隐式绑定: 把在domain上下文中定义的变量,自动绑定到do… Read More

Node.js DNS 模块

Node.js 工具模块 Node.js DNS 模块用于解析域名。引入 DNS 模块语法格式如下: var dns = require("dns") 方法 序号 方法 & 描述 1 dns.lookup(hostname[, options], callback) 将域 名(比如 ‘runoob.com’)解析为第一条找到的记录 A (IPV4)或 AAAA(IPV6)。参数 options可以是一个对象或整数。如果没有提供 options,IP v4 和 v6 地址都可以。如果 options 是整数,则必须是 4 或 6。 2 dns.lookupService(address, port, callback) 使用 getnameinf… Read More

Node.js Net 模块

Node.js 工具模块 Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: var net = require("net") 方法 序号 方法 & 描述 1 net.createServer([options][, connectionListener]) 创建一个 TCP 服务器。参数 connectionListener 自动给 ‘connection’ 事件创建监听器。 2 net.connect(options[, connectionListener]) 返回一个新的 ‘net.Socket’,并连接到… Read More

Node.js Path 模块

Node.js 工具模块 Node.js path 模块提供了一些用于处理文件路径的小工具,我们可以通过以下方式引入该模块: var path = require("path") 方法 序号 方法 & 描述 1 path.normalize(p) 规范化路径,注意’..’ 和 ‘.’。 2 path.join([path1][, path2][, …]) 用于连接路径。该方法的主要用途在于,会正确使用当前系统的路径分隔符,Unix系统是”/”,Windows系统是”\”。 3 path.resolve([from …]… Read More

Node.js 工具模块

在 Node.js 模块库中有很多好用的模块。接下来我们为大家介绍几种常用模块的使用: 序号 模块名 & 描述 1 OS 模块 提供基本的系统操作函数。 2 Path 模块 提供了处理和转换文件路的工具。 3 Net 模块 用于底层的网络通信。提供了服务端和客户端的的操作。 4 DNS 模块 用于解析域名。 5 Domain 模块 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的。   本文:Node.js 工具模块… Read More

Node.js OS 模块

Node.js 工具模块 Node.js os 模块提供了一些基本的系统操作函数。我们可以通过以下方式引入该模块: var os = require("os") 方法 序号 方法 & 描述 1 os.tmpdir() 返回操作系统的默认临时文件夹。 2 os.endianness() 返回 CPU 的字节序,可能的是 “BE” 或 “LE”。 3 os.hostname() 返回操作系统的主机名。 4 os.type() 返回操作系统名 5 os.platform() 返回操作系统名 6 os.arch() 返回操作系统 CPU 架构,可能的值有 “x64″、”arm”… Read More

Node.js 常用工具

util 是一个Node.js 核心模块,提供常用函数的集合,用于弥补核心JavaScript 的功能 过于精简的不足。 util.inherits util.inherits(constructor, superConstructor)是一个实现对象间原型继承 的函数。 JavaScript 的面向对象特性是基于原型的,与常见的基于类的不同。JavaScript 没有 提供对象继承的语言级别特性,而是通过原型复制来实现的。 在这里我们只介绍util.inherits 的用法,示例如下: var util = require('util'); function Base() { this.name = 'base'; this.base = 19… Read More

Node.js 路由

我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码。 因此,我们需要查看HTTP请求,从中提取出请求的URL以及GET/POST参数。这一功能应当属于路由还是服务器(甚至作为一个模块自身的功能)确实值得探讨,但这里暂定其为我们的HTTP服务器的功能。 我们需要的所有数据都会包含在request对象中,该对象作为onRequest()回调函数的第一个参数传递。但是为了解析这些数据,我们需要额外的Node.JS模块,它们分别是url和querystring模块。 url.parse(string).query