随笔分类 - Node.js
摘要:摘要 前面介绍了node.js操作mysql以及redis的内容,这里继续学习操作mongodb的内容。 安装驱动 安装命令 安装成功 数据库操作 因为mongodb是文档类型的数据库,与mysql有很大不同,mongodb会自动创建数据库和集合,并不需要提前进行手动创建。 Insert 结果 查询
阅读全文
摘要:摘要 上篇文章介绍了node.js操作redis的简单实例,这里介绍如何操作mysql。 安装 安装mysql模块 一个例子 新建一个mysql.js的文件,代码如下: 连接配置 host:主机地址 (默认:localhost) mysql的操作 创建数据表 增 结果 改 总结 通过上面的例子我们看
阅读全文
摘要:摘要 在实际开发中,免不了要操作mysql,mongodb,redis等数据存储服务器。这里先简单介绍如何操作redis。 一个例子 关于redis服务端的安装这里不再介绍,重点不在这里。感兴趣的可以自行安装。 对于一个新的模块,我们需要在我们的项目中先安装redis模块才能用。 命令 新建一个re
阅读全文
摘要:摘要 Node.js是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于在多核cpu的系统上创建多个子进程,从而提高性能。每个子进程总是带有三个流对象:child.stdin,child.stdout,child.stderr。他们可能会共享父进程的stdio流,或者也可以是独立的被导
阅读全文
摘要:摘要 什么Rest? REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。 表述性状态转移是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是R
阅读全文
摘要:摘要 Express是一个简洁灵活的node.js web应用框架,提供了一系列强大特性帮助你创建各种web应用和丰富的http工具。使用express可以快速创建一个完整功能的网站。 Express Express核心特性: 可以设置中间件来响应http请求。 定义了路由表用于执行不同的Http请
阅读全文
摘要:摘要 什么是web服务器? web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。 大多数 web 服务器都支持服务端的语言(php、python、ruby,
阅读全文
摘要:Domain(域)模块简化了异步代码的异常处理方式,可以捕捉处理try catch无法捕捉的异常。 引入 domain模块,把处理多个不同的IO的操作作为一个组。注册事件和回调到domain,当发生一个错误事件或抛出一个错误时,domain对象会被通知,不会丢失上下文环境,也不导致程序错误立即推出,
阅读全文
摘要:摘要 net模块提供了一些用于底层的网络通信的小工具,包含了创建服务器和客户端的方法。可以使用该模块模拟请求等操作。 net模块 引入net模块 方法 net Server 用于创建一个TCP或者本地服务器 事件 net.Socket net.Socket对象是TCP或者UNIX Socket的抽象
阅读全文
摘要:摘要 path模块提供了一些处理文件路径问题的工具。 path模块 引入模块 方法 属性 一个例子 执行 资料 http://www.runoob.com/nodejs/nodejs-path-module.html
阅读全文
摘要:摘要 Node.js有很多工具模块,比如os,path,net,dns,domain模块。这里先介绍os模块的使用方法。os模块提供了一些基本的系统操作函数。 os模块 引入os模块 方法 一个例子 执行
阅读全文
摘要:摘要 在很多情况下,我们的web服务器都需要接受客户端浏览器传递的参数或者数据。最常见的是get和post请求。 获取get请求的内容 get请求传递的参数在url中,参数部分在?后面。因此可以手动解析后面的内容作为get请求的参数。node.js中url模块中的parse函数提供了这个功能。 一个
阅读全文
摘要:摘要 在js中的windows对象是全局对象,而Node.js中的全局对象是global,所有全局变量(除global本身外)都是global对象的属性。在Node.js中我们可以直接访问到global的属性,而不需要在应用中再次包含它。 全局对象与全局变量 global最根本的作用是作为全局变量的
阅读全文
摘要:util是一个Node.js的核心工具模块,提供常用的函数,用于弥补核心JavaScript提供的函数过于精简的问题。 util.inherits uitl.inherits(constructor,superConstructor)是一个实现对象间圆形继承的函数。JavaScript的面相对象特性
阅读全文
摘要:摘要 路由是为每次请求,找到相应的资源。我们要为路由提供请求的URL和其他需要的get及post参数,随后路由需要根据这些数据执行相应的代码。因此,我们需要解析http请求,从中提取出请求的URL及get/post参数。 路由 我们需要的数据都会包含在request对象中,该对象作为onReques
阅读全文
摘要:摘要 在js中,一个函数可以作为另外一个函数的接收参数,我们可以先定义一个函数,然后传递,也可以在传递参数的地方直接定义函数。Node.js中函数的使用与js中类似。 一个例子 从上面的代码,我们可以看到我们把函数sayHello函数作为execute函数的第一个参数进行传递。这里返回的不是sayH
阅读全文
摘要:模块可以让Node.js的文件之间相互调用,模块是Node.js应用程序的基本组成部分,文件和模块是一一对应的,换言之,一个Node.js文件就是一个模块,这个文件可能是js代码,json或者编译过的c/C++扩展。 创建模块 在node.js中,创建一个模块是非常简单的。 一个例子 创建一个名为m
阅读全文
摘要:摘要 Stream是一个抽象接口,Node中有很多对象实现了这个接口。例如,对http服务器发送请求的request对象就是一个Stream。 Stream Stream有四种流类型: 所有Stream对象都是EventEmitter的实例,常用的事件: 读取 创建stream.txt文件,内容如下
阅读全文
摘要:摘要 在js中是没有二进制类型的,但在处理tcp或者文件流时,必须使用到二进制数据,因此Node.js定义了一个Buffer类型,该类型用来创建一个专门存储二进制数据的缓存区。在Node.js中,Buffer类是随Node内核一起发布的核心库。Buffer库为Node.js带来了一种存储原始数据的办
阅读全文
摘要:摘要 Node.js所有的异步I/O操作在完成时都会发送一个事件到事件队列。并且许多对象都会分发事件:一个net.Server对象会在每次有新连接时分发一个事件,一个fs.readStream对象会再文件被打开的时候发出一个事件。所有这些产生事件的都是events.EventEmitter的实例。
阅读全文