基于node.js express mvc轻量级框架实践


Posted in Javascript onSeptember 14, 2017

本文记录的是笔者最近抽私下时间给朋友做的一个时时彩自动下注系统,比较简单,主要也是为了学习一下node.js。

其实逻辑没什么可以深谈的,主要是想说说这套代码结构。结构如下图:

基于node.js express mvc轻量级框架实践

js的代码比较难以维护,不清楚大家对于这点是否认同,但这里笔者只说自己的感受,笔者的朋友一开始找到笔者,说玩时时彩,一直盯着玩,会因为贪心会乱来,想做个自动下注系统, 让程序自己玩。一开始,笔者也只想敷衍了事,直接拿node.js+express整了下面这套结构。

基于node.js express mvc轻量级框架实践

基本和express 示例代码没啥两样。但是随着需求的变更,觉得维护起来越来越吃力, 无奈,只能重新来一遍。

这套node.js express mvc代码结构我是学习nodeclub开源项目得来,有兴趣的朋友可以去学习下。简要说明下代码中各部分的意义:

api-------------------> api 逻辑处理层, 一般就是数据的CURD等操作

controllers--------> c端站点,没什么可说的

jobs-----------------> 定时任务工作, 结合node-schedule

logs-----------------> 文件日志

models ------------> mongoose 数据库链接及各实体定义

proxy --------------> 数据库访问方法封装,比如说insert、update

util------------------> 工具js封装,如 DateFormat

views--------------> 页面层,ejs 页面渲染引擎

api_router.js-----> api路由

web_router.js---> web页面路由

app.js-------------> 玩express的都知道这个文件干啥。

笔者为什么这么做? MVC代码分层,虽然代码量无形的增加了,但目的是为了更好的管理,意味着大幅度降低维护成本,利大于弊。

这里顺便提一下 node-schedule pm2 进程管理器 在多进程模式下,会出现重复执行问题,笔者的解决方案是 将web 和 jobs 分多个进程管理器管理。

以上这篇基于node.js express mvc轻量级框架实践就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js实现YouKu的漂亮搜索框效果
Aug 19 Javascript
JavaScript使用Range调色及透明度实例
Sep 25 Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 Javascript
Ajax实现不刷新取最新商品
Mar 01 Javascript
vue父组件中获取子组件中的数据(实例讲解)
Sep 27 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
Dec 22 Javascript
利用Vue实现一个markdown编辑器实例代码
May 19 Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 Javascript
微信小程序实现日历签到
Sep 21 Javascript
原生js实现购物车功能
Sep 23 Javascript
ES11屡试不爽的新特性,你用上了几个
Oct 21 Javascript
vue+openlayers绘制省市边界线
Dec 24 Vue.js
gulp教程_从入门到项目中快速上手使用方法
Sep 14 #Javascript
利用jsonp与代理服务器方案解决跨域问题
Sep 14 #Javascript
基于js中document.cookie全面解析
Sep 14 #Javascript
基于Vue过渡状态实例讲解
Sep 14 #Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
Sep 14 #Javascript
Vue2.0基于vue-cli+webpack同级组件之间的通信教程(推荐)
Sep 14 #Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
Sep 14 #Javascript
You might like
解析file_get_contents模仿浏览器头(user_agent)获取数据
2013/06/27 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
用PHP做了一个领取优惠券活动的示例代码
2019/07/05 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
验证javascript中Object和Function的关系的三段简单代码
2010/06/27 Javascript
jQuery获取对象简单实现方法小结
2014/10/30 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
Bootstrap table分页问题汇总
2016/05/30 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
underscore之Collections_动力节点Java学院整理
2017/07/10 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
VUE重点问题总结
2018/03/19 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
JS中FileReader类实现文件上传及时预览功能
2020/03/27 Javascript
python获取指定目录下所有文件名列表的方法
2015/05/20 Python
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
pytorch获取模型某一层参数名及参数值方式
2019/12/30 Python
基于Tensorflow使用CPU而不用GPU问题的解决
2020/02/07 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
Python描述数据结构学习之哈夫曼树篇
2020/09/07 Python
使用spring mvc+localResizeIMG实现HTML5端图片压缩上传的功能
2016/12/16 HTML / CSS
2014高中生入党思想汇报范文
2014/09/13 职场文书
幼儿教师辞职信范文
2015/03/02 职场文书
我们的节日重阳节活动总结
2015/03/24 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
干部理论学习心得体会
2016/01/21 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
mysql 排序失效
2022/05/20 MySQL