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 这篇还 ...
随机推荐
- 当Python与数模相遇
数模有一个题目要处理杭州自行车在每个站点可用数量和已经借出数量,这数据在www.hzbus.cn上可以获取,它是10分钟更新一次的.这些数据手动获取,需要不停的刷页面,从6:00am到9:00pm,显 ...
- How to return plain text from AWS Lambda & API Gateway
With limited experience in AWS Lambda & API Gateway, it's struggling to find the correct way to ...
- day--14前端(HTML、CSS)
浏览器相当于客户端,浏览器访问服务端,收到消息之后里面断开,一次请求,一次响应,一次断开. Web框架本质 http://www.cnblogs.com/wupeiqi/articles ...
- 【LOJ】#2278. 「HAOI2017」字符串
题解 好神仙的题啊 感觉转二维平面能想到,算重复情况的方法真想不到啊 通过扒stdcall代码获得的题解QAQQQQ 我们先把\(p_i\)正串反串建出一个AC自动机来 然后我们把s串放在上面跑匹配, ...
- 【Atcoder】AGC027 题解
A - Candy Distribution Again 大意:有x个糖给n个小朋友,必须分完,小朋友得到糖数为一个确切值的时候小朋友会开心,求最多的开心数 题解 直接排序然后贪心分,如果分到最后一个 ...
- 【LOJ】#2117. 「HNOI2015」实验比较
题解 把所有=的点连起来,一个图合法肯定它是一个有向树森林 我们新建一个点,把这个点和其他所有树的树根连起来 定义\(dp[u][j]\)表示第u个点长度为j的序列的方案数 转移方法是 \(dp[u] ...
- 修改MySQL中的数据
一:insert语句 1.介绍 在执行插入语句前,需要具有执行INSERT语句的INSERT权限. 2.准备环境 3.简单insert语句 4.插入多行 在这种形式中,每行的值列表用逗号分隔. 如果为 ...
- 004.FTP匿名用户访问
一 匿名用户配置项 [root@imxhy~]# vi /etc/vsftpd/vsftpd.conf anonymous_enable #允许匿名用户访问 anon_upload_enable #允 ...
- ubuntu下安装flash player,浏览器观看视频,本人ubuntu版本14.04
首先去官网下载flash player安装包:flash_player_npapi_linux.x86_64,下载地址:https://get.adobe.com/cn/flashplayer/ 解压 ...
- java 获取当前方法名
String _thisMethodName = new Exception().getStackTrace()[0].getMethodName();// 获得当前的方法名