sheila1227
sheila1227
对于Node.js新手,搭建一个静态资源服务器是个不错的锻炼,从最简单的返回文件或错误开始,渐进增强,还可以逐步加深对http的理解。那就开始吧,让我们的双手沾满网络请求! >Note: > >当然在项目中如果有使用express框架,用[express.static](https://expressjs.com/en/starter/static-files.html)一行代码就可以达到目的了: > >``` >app.use(express.static('public')) >``` > >这里我们要实现的正是`express.static`背后所做工作的一部分,建议同步阅读该模块源码。 > ## 基本功能 不急着写下第一行代码,而是先梳理一下就基本功能而言有哪些步骤。 1. 在本地根据指定端口启动一个http server,等待着来自客户端的请求 1. 当请求抵达时,根据请求的url,以设置的静态文件目录为base,映射得到文件位置 1. 检查文件是否存在 1. 如果文件不存在,返回404状态码,发送not found页面到客户端 1. 如果文件存在: * 打开文件待读取 * 设置response...
在[使用Node.js搭建静态资源服务器](http://www.cnblogs.com/SheilaSun/p/7271883.html)一文中我们完成了服务器对静态资源请求的处理,但并未涉及动态请求,目前还无法根据客户端发出的不同请求而返回个性化的内容。单靠静态资源岂能撑得起这些复杂的网站应用,本文将介绍如何使用`Node`处理动态请求,以及如何搭建一个简易的 MVC 框架。因为前文已经详细介绍过静态资源请求如何响应,本文将略过所有静态部分。 ## 一个简单的示例 先从一个简单示例入手,明白在 Node 中如何向客户端返回动态内容。 假设我们有这样的需求: 1. 当用户访问 `/actors `时返回男演员列表页 1. 当用户访问 `/actresses `时返回女演员列表 可以用以下的代码完成功能: ``` const http = require('http'); const url = require('url'); http.createServer((req, res) =>...