这里,准备从零开始用nodejs实现一个微博系统。功能包括路由控制、页面模板、数据库访问、用户注册、登录、用户会话等内容。
将会介绍Express框架、MVC设计模式、ejs模板引擎以及MongoDB数据库的操作。
准备工作
使用http模块,Express框架,
nodejs的抽象如此之差,把不该有的细节暴露给开发者。你可以用它做任何HTTP服务器能做的事情,不仅仅是做一个网站,甚至实现一个HTTP代理服务器都行。
Express是WEB开发框架。
实现:
为HTTP模块提供了更高层的接口,
路由控制,
模板解析支持,
动态视图,
用户会话,
CSRF保护,
静态文件服务,
错误控制器,
访问日志,
缓存,
插件支持。
多数功能只是对HTTP协议中常用操作的封装,更多的功能需要插件或者整合其他模块来完成。
快速开发
安装Express
在项目目录下
npm install -g express-generator
express --help
建立工程
express -t ejs microblog 由于新版本没有-t命令
1.如何在项目中安装ejs模板引擎
在NodeJS指南中利用利用以下命令建立网站的基本结构:
express -t ejs microblog
运行这个命令后继续运行
cd microblog && npm install(安装项目的依赖属性),
发现安装的模板引擎是jade,而不是ejs。原因是现在的版本已经没有-t这个命令了,改为
express -e microblog
运行完这个命令,继续运行cd microblog && npm install,ejs模板引擎就安装好了
但是express3以上的版本把layout默认给取消了,所以现在在views文件夹下并没有生成layout.ejs。
2.安装了ejs后,如何使用ejs的layout模板
安装express-partials
在cmd中切换到项目目录,运行
(1)npm install express-partials
或者
(2)在 package.json
里面的 dependencies
添加 "express-partials": "*"
。然后在项目目录下运行 npm install
。
(3)然后在app.js
里面引用 express-partials,引用方法:
1.在path = require(‘path‘)
后,添加引用 var partials = require(‘express-partials‘);
2.在 app.set(‘view engine‘, ‘ejs‘)后,
添加 app.use(partials());
3.增长端口,
app.listen(8100,function(){
console.log("Server Start!");
});
http://cnodejs.org/topic/515b009a6d38277306192e4e
启动服务器
工程的结构
路由控制
模板引擎
建立微博网站
用户注册和登录
发表微博
使用nodejs进行WEB开发