Node.js转化GBK编码 - iconv-lite

node当使用node获取GBK编码的数据时,nodejs只支持utf-8,node没有提供转换编码的原生支持,有倒是有一个模块iconv能干这个事,但需要本地方法,VC++库的支持。国外有个大牛写了一个纯粹用Javascript解码的模块:iconv-lite,可以实现编码转换,使用方法如下: var http = require("http"); var iconv = require("iconv-lite"); var url = "http://hq.sinajs.cn/list= »

【Node.js基础篇】(八)安装Express 3.2框架以及ejs模板

Html模板以及路由文件等服务器必备的功能虽然我们都可以自己实现,但在稳定性、可靠性、全面性方面肯定是有所遗漏的,所以,从今天起,Node的学习就进入了框架学习部分。 维基百科: 框架就是制定一套规范或者规则(思想),大家(程序员)在该规范或者规则(思想)下工作。或者说使用别人搭好的舞台来做编剧和表演。 第一个要学习的框架是在Node中被广泛应用的框架——Express。 安装Express 如果你使用的Node开发环境是WebStorm的话,在新建工程的时候可以直接选新建Node工程,它会给你安装好Express框架(但可能模板渲染使用的是jade)。虽然这的确很方便,但还是建议你使用npm包管理工具来安装Express,因为这个工具以后会常用到。 »

【Node.js基础篇】(七)Node异步编程之事件发射器

事件发射器是Node里除了回调函数外的另一十分重要的异步编程技术。 在MFC等图形界面编程库中,事件发射器是非常常见的,比如,鼠标点击事件,点击了鼠标后,就会触发鼠标点击后的函数——事件发射器触发事件,并且在事件被触发后处理它们。在Node API组件中,如HTTP服务器、TCP服务器等都被做成了事件发射器,所以掌握事件发射器的编程方法,是非常重要的。 使用on添加监听器 步骤: 声明事件发射器类 创建事件发射器对象 使用on添加事件发射器 使用emit发射事件 //事件发射器类声明 var EventEmitter = require("events" »

【Node.js基础篇】(六)实现如同jsp标签的HTML模板

一、概述 在上一篇中,我们已经可以使用mime类型模块以及文件传输模块为客户端返回任何类型的文件,但目前能返回的只有静态的HTML,css等文件,而jsp等服务器端语言却可以通过<% %>标签来实现java的扩张,根据请求来指定返回给客户端的html,从而只需要有一个html模板,就可以返回无数个html页面,而不用一个一个页面的编写,然后根据请求路由各个HTML。 今天,我们要实现的就是类似jsp这样的html模板文件(当然,远没有jsp那般强大)。首先,得先介绍一下JSON(JavaScript Object Notation) 二、JSON JSON是一种轻量级的数据交换格式, »

【Node.js基础篇】(五)使用mime模块来响应css、js文件的请求

1.概述 上一篇中我们实现了客户端的路由请求,包括直接使用js返回内容响应和使用html文件响应,但上一篇中最后的显示结果只是一个很普通的html文件,不能使用css样式和js文件,今天我们就通过设置响应文件的mime类型来实现不同文件的响应。 文章会先介绍什么是mime类型,然后介绍两种设置mime类型的方法,第一种是通过后缀名判断文件类型,从而进行响应;第二种是使用第三方mime模块进行响应。 示例是在上一篇的基础上扩展的。 2.mime类型简介 MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。 »

【Node.js基础篇】(四)Node.js实现文件路由功能

昨天创建的服务器只是在浏览器请求时简单响应了一下,而今天要创建的服务器是可以根据不同的URL请求响应不同的文件,也就是所谓的文件路由:根据不同的文件请求响应不同的“路”。 第一步:创建文件Luyou.js,在里面声明引用模块的变量和需响应的文件路由 //获取http模块 var http = require("http"); //文件模块 var fs = require('fs'); //主页路由模块,file文件夹里的index.js文件 var index = require('. »

【Node.js基础篇】(三)Node.js创建HTTP服务器

作为一种强大的服务端开发技术,Node.js最本职的工作还是开发Web应用,下面介绍一下如何使用Node.js的核心模块来开发一个HTTP服务器,示例如下: /** * Created by Administrator on 2015/3/25. */ //1.获取内嵌的http模块(提供http服务器和客户端) var http = require('http'); //2.创建HTTP服务器 var server = http.createServer( »

【Node.js基础篇】(二)Node模块的使用

类似于C++的头文件,Java的引用类,Node.js也有一种将功能拆分、封装、组合的工具,就是模块。 Node.js里的模块的用法与头文件、引用类等有所不同,它使用的是JavaScript的风格,一个模块就是一个对象,可以var一个变量来引用, 具体如下例: //module.js //Node.js创建模块 //module模块里的方法 exports.sayHello = function(){ console.log("床前明月光" »