项目结构
最后更新于:2022-04-01 04:21:44
按照go 命令行工具的要求将Revel和Revel应用程序安装到 GOPATH。 (参考 “GOPATH 环境变量” [go 命令 文档](http://golang.org/cmd/go/))
## 项目结构示例
~~~
gocode GOPATH 目录
src GOPATH src 目录
revel Revel 安装目录
...
sample Revel应用程序根目录
app MVC目录
controllers 控制器
init.go
models 模型
routes
views 模板
tests 测试
conf
app.conf 默认配置
routes 路由定义
messages 国际化
public 静态文件
css CSS files
js Javascript files
images Image files
~~~
## app
`app` 存放源代码和模板。
* `app/controllers`
* `app/models`
* `app/views`
Revel 约定:
* 模板文件放到 `app/views`目录
* 控制器文件放到 `app/controllers`目录
此外,Revel监视 `app/` 目录,当发现文件变动时,会自动重新编译。`app/` 目录以外的依赖关系不会被监视,在必要的时候由开发人员重新执行编译。
Revel在app目录的`init()`函数开始的时候会导入 `app/`中的所有依赖包或者 ( [模块](http://gorevel.cn/docs/manual/modules.html))。
`controllers/init.go` 用于注册拦截器 [interceptor](http://gorevel.cn/docs/manual/interceptors.html)。同一个包的源文件中`init()` 函数的执行无序的, 所以收集所有的拦截器定义到同一个文件中,便于开发者指定拦截器的执行顺序(也可以用于顺序敏感的初始化)。
## conf
`conf` 目录包含了Revel应用程序的配置文件,有两个主要的配置:
* `app.conf`, 主配置文件,包含了标准配置参数。
* `routes`, 路由定义文件。
## messages
`messages` 目录包含了本地化消息文件。
## public
静态资源文件存放到 `public` 目录,由Web server 直接提供静态文件支持。 通常包含三个标准的子目录 images, CSS 和 JavaScript。
目录的名字可以随意,使用的时候只需要与路由对应起来就好。