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

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

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

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

基本和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-schedulepm2 进程管理器 在多进程模式下,会出现重复执行问题,笔者的解决方案是 将web 和 jobs 分多个进程管理器管理。

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

(0)

相关推荐

  • 浅谈Node.js轻量级Web框架Express4.x使用指南

    Express是一个轻量级的Web框架,简单.灵活 也是目前最流行的基于Nodejs的Web框架 通过它我们可以快速搭建功能完整的网站 (express 英文意思:特快列车) Express现在是4.x版本,更新很快,并且不兼容旧版本,导致现在市面上很多优秀的Node书籍过时 这篇文章是一篇入门级的Express使用,需要一定Node.js的基础 Web应用创建 首先要做的是下载express并引用 npm install express --save 全局安装就+个-g 引用express v

  • 10个最优秀的Node.js MVC框架

    Node.js 是最流行的 JavaScript 服务端平台,它允许建立可扩展的 Web 应用程序.Node.js 包含不同类型的框架,如 MVC 框架.全栈框架.REST API 以及大量的服务器库,使它能够快速构建 Web 服务器,而无需使用外部软件(如 Apache 和 Lighttpd 等).这些框架使得它更加用户友好,易于使用,还支持众多的特性和功能,只要按照几个步骤就可以开发出庞大的 Web 应用程序. 1)Sails js Sails 是一款优秀的框架,可以很容易地开发定制的,企业

  • 使用Node.js实现简易MVC框架的方法

    在使用Node.js搭建静态资源服务器一文中我们完成了服务器对静态资源请求的处理,但并未涉及动态请求,目前还无法根据客户端发出的不同请求而返回个性化的内容.单靠静态资源岂能撑得起这些复杂的网站应用,本文将介绍如何使用Node处理动态请求,以及如何搭建一个简易的 MVC 框架.因为前文已经详细介绍过静态资源请求如何响应,本文将略过所有静态部分. 一个简单的示例 先从一个简单示例入手,明白在 Node 中如何向客户端返回动态内容. 假设我们有这样的需求: 当用户访问/actors时返回男演员列表页

  • 14款NodeJS Web框架推荐

    在几年的时间里,Node.js逐渐发展成一个成熟的开发平台,吸引了许多开发者.有许多大型高流量网站都采用Node.js进行开发,像PayPal,此外,开发人员还可以使用它来开发一些快速移动Web框架. 下面就介绍14款基于Node.js的Web应用框架,大家不妨过来看看有没有适合你的那一款. 1.Primus Primus,是Transformer的创造者,并且也被称为通用包装器实时框架.Primus里包含了大量的用于Node.js的实时框架,并且它们都拥有各种不同的实时功能.此外,Primus

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

    本文记录的是笔者最近抽私下时间给朋友做的一个时时彩自动下注系统,比较简单,主要也是为了学习一下node.js. 其实逻辑没什么可以深谈的,主要是想说说这套代码结构.结构如下图: js的代码比较难以维护,不清楚大家对于这点是否认同,但这里笔者只说自己的感受,笔者的朋友一开始找到笔者,说玩时时彩,一直盯着玩,会因为贪心会乱来,想做个自动下注系统, 让程序自己玩.一开始,笔者也只想敷衍了事,直接拿node.js+express整了下面这套结构. 基本和express 示例代码没啥两样.但是随着需求的变

  • 详解基于Node.js的HTTP/2 Server实践

    虽然HTTP/2目前已经逐渐的在各大网站上开始了使用,但是在目前最新的Node.js上仍然处于实验性API,还没有能有效解决生产环境各种问题的应用示例.因此在应用HTTP/2的道路上我自己也遇到了许多坑,下面介绍了项目的主要架构与开发中遇到的问题及解决方式,也许会对你有一点点启示. 配置 虽然W3C的规范中没有规定HTTP/2协议一定要使用ssl加密,但是支持非加密的HTTP/2协议的浏览器实在少的可怜,因此我们有必要申请一个自己的域名和一个ssl证书. 本项目的测试域名是 you.keyin.

  • Node.js Express安装与使用教程

    之前我们在安装完Node.js后直接写了个HelloWorld网站,这次呢,我们使用Node.js的Web框架Express来重写一下HelloWorld,看看有什么不同.同时我们还会重写之前的文件服务器,功能更完善而代码更简洁. 安装 express 为了重写我们的HelloWorld,我们需要安装Express模块.Express基于Node.js的一个Web框架,官方网站在这里:http://expressjs.com/.官网对Express的介绍是: Fast, unopinionate

  • node.js express框架实现文件上传与下载功能实例详解

    本文实例讲述了node.js express框架实现文件上传与下载功能.分享给大家供大家参考,具体如下: 背景 昨天吉视传媒的客户对IPS信息发布系统又提了一个新需求,就是发布端发送消息时需要支持附件的上传,而接收端可以对发布端上传的附件进行下载:接收端回复消息时也需要支持上传附件,发布端可以对所有接收端上传的附件进行打包下载. 功能实现 前台部分 前台使用webUploader插件即可,这是百度开发的一款文件上传组件,具体使用查看它的API即可.这个项目之前开发的时候前台使用了angular.

  • Ajax 的初步实现(使用vscode+node.js+express框架)

    需求: 点击按钮 向服务端发送一个请求 然后将服务端返回的响应体结果在一个div中呈现出来 同时页面不刷新 一. 服务端的前期准备 安装node.js https://nodejs.org/en/download/ 检验是否安装成功 : 在命令行输入 node -v 按下enter 键之后出现 版本号就表明安装成功 (图如下) 使用 vscode安装express (前提是你已经成功安装了node.js) 在 vscode 里面新建一个文件夹 文件下面包含俩个文件 一个是你的前端页面代码:.ht

  • Node.js+Express配置入门教程详解

    Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V8引 擎执行Javascript的速度非常快,性能非常好.Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好.Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型

  • Node.js+Express配置入门教程

    Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V8引 擎执行Javascript的速度非常快,性能非常好.Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好.Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动, 非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的

  • node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能

    同志们,经过不懈的努力,查了各种文档,终于鼓捣出了一个稍微像样一点的node项目,当然如果直接拿去项目里用,这个demo还太简单,毕竟一个完整的登录注册还有很多实际的内容,本案例mySQL的用户列表里,为便于理解,只设置了username 和password两个字段,正常的登录注册,肯定会有更多的字段的.但是对于初学node的人来说,比如笔者,还是学习到了不少内容,甚至,紧张的我不知如下下笔,肯定这个是参考了很多网上其他少年博客,以后这个登录注册demo会依据项目的需要而有所改进, 效果如下 效

  • Node.js+Express+Mysql 实现增删改查

    这次选用nodejs+express+mysql 使用http作为客户端,express框架搭建服务端,从而实现数据的增删改查.这篇文章可以算作上篇文章的升级篇,加入了和数据库的交互. 安装 node 直接去官网下载选择下载即可https://nodejs.org/en/download/current/ cnpm install express //express框架安装 cnpm install mysql //mysql驱动安装 brew install mysql //数据库的安装,根据

  • Node.js + express基本用法教程

    本文实例讲述了Node.js + express基本用法.分享给大家供大家参考,具体如下: 这里来讲下 express 框架的使用,编译的环境是 VS Code ,这里我已经配饰了阿里的镜像,所有 npm 指令用 cnpm 代替 首先学会向 Node.js 种引入 express 非常建党只需两步,输入指令: cnpm init 然后就可以载入 express cnpm install express -save 到此为止 express 救成功导入了 这里介绍一个技巧: 输入: cnpm in

随机推荐