go web项目目录规划
因为 gorose orm
和 dotweb
框架 都是基于独立的组件, 所以我们可以对项目的目录做出自由的规划.
在这里, 我们便规划一个遵循一般的mvc结构的项目目录.
为了项目的易维护性和高可用性, 我们尽量采取成熟的架构, 分离业务模块, 这里就借鉴 php
界最火爆的框架拉 laravel
的设计思想, 做出简单的涉设计架构
目录大致如下:
一. 路由: /router/
放置所有路由, 这里会用到dotweb的路由组件, 所有请求的入口都会经过这里
二. 控制器: /controller/
放置所有控制器, 这里就是基本的业务逻辑处理曾
三. 数据操作: /model/
放置所有model, 这里就是gorose orm的主战场, 所有的数据库操作都在这里完成
四. 前端页面: /view/
放置所有页面, 这里主要写前端的html+js+css
五. 中间件: /middleware/
放置所有中间件, 这里可以放置各种狂拽酷炫吊炸天的组件
六. 入口目录: /bootstrap/
系统中用到的组件, 统一在这里驱动, 便于维护管理, 本项目主要包含gorose和dotweb在这里驱动
七. 配置目录: /config/
必须是放置所有的配置文件在这里
八. 日志目录: /log/
这个没什么说的
成型目录结构
kuaixinwen
bootstrap
bootDatabase.go
bootRouter.go
config
database.go
middleware
Auth.go
controller
news.go
model
News.go
router
route.go
view
home.html
admin.html
main.go
以上各个组件, 除了model模块采用gorose的orm组件之外, 路由和部分中间件模块均由dotweb中对应的组件来完成, 这里就更能提现出组件化框架dotweb的强大之处了
view
目录下的页面后期扩展后会用vue
来写 暂时用于快速构建简单web网站,就只用home.html
和admin.html
做个示例
本项目源码: https://github.com/gohouse/kuaixinwen
有疑问加站长微信联系(非本文作者)