NodeJS独立开发web框架——静态服务器开发(2)
下面我们编写一个单独的html文件,当有请求时,会把它作为响应数据。
首先,创建 day01/public文件夹,然后在public文件夹内创建一个index.html网页文档。
服务器返回主页功能
下面我们编写一个单独的html文件,当有请求时,会把它作为响应数据。
首先,创建 day01/public
文件夹,然后在public
文件夹内创建一个index.html
网页文档。
下面编写一段html
<!doctype html> <html> <head> <meta charset="utf-8"/> <title>node.js 你好</title> </head> <body> <hr> <b><i>node.js 你好!javascript 你好!</i></b> <hr> </body> </html>
静态html文档有了,如何让服务器读取呢? 这就需要用到另一个模块,File System
模块。通过var fs = require("fs")
可以得到该模块对象。
通过 fs.readFile
或 fs.readFileSync
方法可以读取文件内容,两者的区别是一个是异步的,一个是同步的。异步就是底层的读取数据操作和主程序是两个进程,也就是说不会阻塞,而同步正好相反。下面我们修改handle
函数让他读取到index.html
文档的内容,会采用异步和同步两种方式实现,功能效果是一致的。
把 httpServer.js文件拷贝一份叫httpServer2.js,我们将扩展httpServer.js程序的功能。
handle函数添加读取主页功能
同步实现方法
var fs = require("fs"); // 得到File System模块对象 function handle(request,response){ var data = fs.readFileSync(__dirname+"/public/index.html"); // 读完文档数据并返回后,程序才能继续。 response.write(data); response.end(); }
异步实现方法
var fs = require("fs"); // 得到File System模块对象 function handle(request,response){ // 回调函数,当底层得到文档后,会调用该函数。 function callback(err,data){ response.write(data); response.end(); } // 异步方式不会阻塞主程序进程 fs.readFile(__dirname+"/public/index.html",callback); }
一般在node.js实际开发中都采用异步方式,因为node.js的优势就在于非阻塞I/O异步,这样性能会很高。
浏览器访问效果
下一节,通过对程序进一步扩展,指定静态服务器目录,让客户端可以访问该目录内的所有文件。
很赞哦! ( 0
)
相关文章
- nodeJs基础教程系列(4)——CommonJS规范
- nodeJs基础教程系列(7)——generator
- [转]让你的 Node.js 应用跑得更快的 10 个技巧
- Node.js API实例——Node.js 控制台
- Node.js 入门
- nodeJs基础教程系列(3)——建立githubs项目
- nodeJs基础教程系列(1)——安装Node.js
- nodeJs基础教程系列(6)——Promise 模式的Q库
- Atom 更为先进的文本代码编辑器 - 由 Github 打造的下一代编程开发利器
- bootstrap 3.3 模态框垂直居中问题
- js字符串操作
- js鼠标滑轮滚动事件绑定(兼容主流浏览器)