Node.js + Express 构建的订餐系统
Node.js的版本 - v0.8.12
Express的版本 – v3.3.3 (安装 $ npm install -g express)
系统的登录逻辑是:获取用户名 + 密码,向内网RTX服务器验证身份,成功后设置session。
系统所有页面判断是否有session,如果没有则跳转至首页。
系统用到的组件模块列表:
express - v3.3.3 npm install -g express
express-autoroute - v0.0.2 npm install express-autoroute
ejs - v0.8.4 npm install ejs
less-middleware - v0.1.12 npm install less-middleware
mysql - v2.0.0-alpha8 npm install mysql@2.0.0-alpha8
mysql-queues - v1.0.0 npm install mysql-queues
request - v2.22.0 npm install request
xml2json - v0.3.2 npm install xml2json
connect-mysql-session - v0.1.3 npm install -g connect-mysql-session
forever - v0.10.8 npm install forever -g
具体的代码就不贴了,附上几张图和系统源码下载。各组件模块的使用在各自的主页中都有使用说明。
前台界面使用了Bootstrap



小结:这个系统花了大概四个晚上的时间,上面那些组件模块在web开发中已经足够使用了,至于说数据库换成其它的例如Mongodb等,只需要改改sql那里的写法就可以了。
后台使用node.js,我的一个感觉就是开发速度很快,路径、参数与配置,只需要几行代码就可以搞定,比较灵活。最重要的一点就是前后台的数据可以完全共用,模块也可以完全共用。而且并发和响应速度,我的感觉是相对php来讲,更快一些。按住f5不停的刷新,在我本机上也不挂掉(每个页面请求几乎都有数据库连接请求),之前我用php写的一个系统多刷几次可能响应不过来(可能代码写的也有问题吧:<)。
Bootstrap + Node.js、懂一点sql相关的知识,那么前后台开发,基本上一个人就可以完全搞定了。
系统虽小但也算五脏俱全了,我相信比某本书上写的微博系统更有价值一些。最后我决定放出源码,虽然时间很仓促,代码有些凌乱,但希望对想学习Express和Node.js的人有些作用吧。系统除了后台数据库的表结构未说明外,其它都有源码。如需要表结构,请单独给我发E-mail(地址在哪?请看页面左上角><)
表结构我放到github上了,地址:https://github.com/zhangyi/tutorial/blob/master/sql/mixi.sql
代码写的比较凌乱,所以未经许可,不允许转载,要拍砖,在这个页面单独拍就好了。代码的版权归Meteoric_cry所有,谢谢!
Node.js + Express 构建的订餐系统的更多相关文章
- Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识
目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookie ...
- Nodejs学习笔记(六)—Node.js + Express 构建网站预备知识
前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...
- modeJS 深了解(1): Node.js + Express 构建网站预备知识
转载:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp1.html 目录 前言 新建express项目并自定义路由规则 如何提取页面中的 ...
- Node.js+Express搭建博客系统基本环境安装
1.下载安装node.js 官网下载地址:https://nodejs.org/en/download/ 2.安装express. 打开node命令行工具,在命令行中输入:npm install -g ...
- Nodejs学习笔记(七)--- Node.js + Express 构建网站简单示例
目录 前言 新建项目.建立数据库以及其它准备工作 新建express + ejs 项目:sampleEjs 创建数据库 修改package.json文件,安装session和mysql模块 样式和JQ ...
- Nodejs学习笔记(七)—Node.js + Express 构建网站简单示例
前言 上一篇学习了一些构建网站会用到的一些知识点:https://www.cnblogs.com/flyingeagle/p/9192936.html 这一篇主要结合前面讲到的知识,去构建一个较为完整 ...
- Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...
- [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...
- Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例
前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...
随机推荐
- kafka一直rebalance故障,重复消费
今天我司线上kafka消息代理出现错误日志,异常rebalance,而且平均间隔2到3分钟就会rebalance一次,分析日志发现比较严重.错误日志如下 08-09 11:01:11 131 pool ...
- 【转载】Java与C++语言在作用域上的差异浅析
http://developer.51cto.com/art/200906/126199.htm 差异一:变量作用域的不同 如下面这段程序代码是符合C++语言的语法要求的.其可以在C语言下正常运行.但 ...
- Codeforces 311B Cats Transport 斜率优化dp
Cats Transport 出发时间居然能是负的,我服了... 卡了我十几次, 我一直以为斜率优化写搓了. 我们能得出dp方程式 dp[ i ][ j ] = min(dp[ k ][ j - 1 ...
- Netty源码分析之NioEventLoop(二)—NioEventLoop的启动
上篇文章中我们对Netty中NioEventLoop创建流程与源码进行了跟踪分析.本篇文章中我们接着分析NioEventLoop的启动流程: Netty中会在服务端启动和新连接接入时通过chooser ...
- 聊聊zookeeper的分布式锁
分布式锁就是多台机器,分布在不同的JVM中,这些不同JVM内的方法需要获取一个唯一锁,比如获取锁之后要把数据写入数据库,保证数据在同一时刻只有一台机器写入数据库. 分布式锁的实现有多种实现方法,除了今 ...
- SpringBoot详细研究-03系统集成
据说杰克船长被黑客盗片了,看来信息安全依然任重而道远,本文以此为引子,来介绍下spring boot对于系统集成方面的支持. Spring Security提供一套安全框架,通过IOC和AOP来实现安 ...
- [BZOJ3585]mex(莫队+分块)
显然可以离线主席树,这里用莫队+分块做.分块的一个重要思想是实现修改与查询时间复杂度的均衡,这里莫队和分块互相弥补. 考虑暴力的分块做法,首先显然大于n的数直接忽略,于是将值域分成sqrt(n)份,每 ...
- BZOJ4242 : 水壶
对于任意两个建筑物,以它们之间的最短路为边权求出最小生成树. 则询问(x,y)的答案为最小生成树上x到y路径上边权的最大值. BFS求出离每个点最近的建筑物以及到它的距离,可以发现只有交界处的边才有用 ...
- hadoop 基础视频1
hadoop 基础视频1 一, 大致内容: 1, 源起与体系结构2,实施Hadoop 集群3,分布式HDFS, 大数据存储实战4,Map-Reduce 体系架构5,Map-Reduce 数据分析之一 ...
- hashMap归纳
Hashmap的与hashtable的区别: Hashmap:允许key为空:查询速度快(他是非同步的:避免了同步中不必要的判断):不安全的(容易引 发多线程安全问题) Hashtable:不允许k ...