nodejs 项目目录结构设计
来源:互联网 发布:拍照美颜软件 编辑:程序博客网 时间:2024/05/16 09:58
设计
要实现一定项目结构,并不是把项目分几个文件夹就完事了的,项目结构设计的最终目的是降低系统的复杂度,一般设计时,总是把一个系统,分成几个小系统,每个小系统独自完成一个功能,并且要控制各个子系统之间的访问权限,在java中很容易通过包权限来实现。但nodejs只有模块,没有包权限,所以项目开始时要通过约定来实现包权限,约定就是大家编写代码时自觉遵守的规则,自觉很重要。遵守各个子系统之间的访问权限,不要越权。
因为数据具有多样性,而为了保证数据层对外表现的一致一致性,因为每个项目的数据模型都不同,选用的数据库也因此不同,为了保证model层对外的一致性,也为了保护数据,在model层之上加上一个代理层。所有数据的访问需通过代理层。
在mvc中model层对应的是网站的资源模型,模型并不能简单理解成数据库中的表,他是抽象的,它可以是一张图片,一个文件,一张数据库的表,或者是几张表和在一起。
目录结构
- bin
- controllers
- logs
- middlewares
- models
- proxy
- public
- services
- test
- views
- app.js
- config.js
- router.js
- package.js
express 请求响应流程
流程解析
上图的箭头代表着请求的流向或者访问的权限。
router:只做请求分发,没有业务逻辑
err是统一的错误处理位置,记录错误,统一err页面。
middlewares:业务中间件,如用户权限控制
model只能由它的proxy访问,而proxy能被controller和service访问。
controller主要逻辑处理
service作为项目的业务组件。如:redis连接服务,缓存组件,日志组件等,他可以减少controller的负担。
app:放一次性脚本
项目代码github
1 0
- nodejs 项目目录结构设计
- nodejs目录结构设计
- ios开发项目目录结构设计
- 目录结构设计
- 项目结构设计;
- nodejs项目目录结构规范
- Asp.net目录结构设计
- 目录树 数据结构设计
- android项目结构设计参考
- thinkphp的目录结构设计经验总结
- thinkphp的目录结构设计经验总结
- thinkphp的目录结构设计经验总结
- thinkphp的目录结构设计经验总结
- thinkphp的目录结构设计经验总结
- android开发—项目结构设计
- 前端项目结构设计精细方案
- 树型目录数据结构设计方法
- 【转载】thinkphp的目录结构设计经验总结
- canvas动画之二 -- 创建动态粒子网格动画
- 二维码生成的几种方式
- 更改Jupyter Notebook的初始化地址
- python selenium鼠标键盘操作(ActionChains)
- 对一个问题的解答
- nodejs 项目目录结构设计
- BAT|无线工程师面试流程详细解析
- linux配置防火墙详细步骤(iptables命令使用方法)
- css的定位机制
- 分布式与集群的联系与区别
- ANT 打包笔记
- 一篇博客了解全自动打码平台
- java调用Rhino(javascript)
- 磁盘管理之软RAID!