基于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 相关文章推荐
在textarea文本域中显示HTML代码的方法
Mar 06 Javascript
ExtJS 入门
Oct 29 Javascript
$.format,jquery.format 使用说明
Jul 13 Javascript
js实现双向链表互联网机顶盒实战应用实现
Oct 28 Javascript
jQuery 过滤not()与filter()实例代码
May 10 Javascript
JavaScript中instanceof与typeof运算符的用法及区别详细解析
Nov 19 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
Mar 14 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
Feb 17 Javascript
JS中cookie的使用及缺点讲解
May 13 Javascript
微信小程序tabBar用法实例详解
Dec 04 Javascript
jQuery子选择器与可见性选择器实例分析
Jun 28 jQuery
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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
php的大小写敏感问题整理
2011/12/29 PHP
php+mysqli使用预处理技术进行数据库查询的方法
2015/01/28 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
json解析大全 双引号、键值对不在一起的情况
2019/12/06 Javascript
vue实现的封装全局filter并统一管理操作示例
2020/02/02 Javascript
手把手带你入门微信小程序新框架Kbone的使用
2020/02/25 Javascript
Element的el-tree控件后台数据结构的生成以及方法的抽取
2020/03/05 Javascript
基于Web Audio API实现音频可视化效果
2020/06/12 Javascript
通过实例解析js可枚举属性与不可枚举属性
2020/12/02 Javascript
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
python之yield表达式学习
2014/09/02 Python
python对象及面向对象技术详解
2016/07/19 Python
利用Python如何生成hash值示例详解
2017/12/20 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
python3光学字符识别模块tesserocr与pytesseract的使用详解
2020/02/26 Python
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
某个公司的Java笔面试题
2016/03/11 面试题
超市国庆节促销方案
2014/02/20 职场文书
保护环境的建议书
2014/03/12 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
老干部工作汇报材料
2014/10/28 职场文书
农村老人去世追悼词
2015/06/23 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python