前言
在习惯了使用express框架,jade模板引擎等现成工具来写代码之后,很多人对于基本的NodeJS API会慢慢生疏。本文将以一个超小型web项目,来详细介绍如何使用NodeJS基础的http, fs, path, url等模块提供的API来搭建一个简单的web服务器。当做对NodeJS的一次复习,也为初学NodeJS的开发者提供一个参考。本文所搭建的项目将不会使用express等后端框架,仅使用最基础的NodeJS API,按照MVC设计模式的思路进行编码和讲解,交流意见。源代码地址如下,建议下载源码边看博客边对照源码才能比较快理解整个过程。源码仓库simple-http-server
项目介绍
有一个简单的食品店网站,它包括一个主页index和一个详情页detail。主页展示食品店的所有食品,包括食品图片、名称、价格3个信息,如下图所示。
用户点击任何一项食品就会跳转到对应的详情页,包括食品图片、名称、价格和描述4个信息,如下图所示。
项目结构
项目的文件结构如下所示。
node-example
|--data(存放项目数据的文件夹)
|--detail.json(存放食品详情数据)
|--foods.json(存放首页食品数据)
|--model(提供访问和操作数据服务的数据模型)
|--detail.js(详情数据访问模块)
|--foods.js(食品数据访问模块)
|--public(存放css,js,图片等静态文件)
|--css(存放css文件的文件夹)
|--img(存放图片的文件夹)
|--js(存放js文件的文件夹)
|--route(路由,控制器)
|--api(处理普通请求的路由,或者叫控制器)
|--static(处理静态文件请求的路由,或者叫控制器)
|--views(视图,即用户界面)
|--index.html(主页界面)
|--detail.html(详情页面)
|--server