• 项目结构
    • 项目结构示例
    • app
    • conf
    • messages
    • public

    项目结构

    按照go 命令行工具的要求将Revel和Revel应用程序安装到 GOPATH。 (参考 “GOPATH 环境变量” go 命令 文档)

    项目结构示例

    1. gocode GOPATH 目录
    2. src GOPATH src 目录
    3. revel Revel 安装目录
    4. ...
    5. sample Revel应用程序根目录
    6. app MVC目录
    7. controllers 控制器
    8. init.go
    9. models 模型
    10. routes
    11. views 模板
    12. tests 测试
    13. conf
    14. app.conf 默认配置
    15. routes 路由定义
    16. messages 国际化
    17. public 静态文件
    18. css CSS files
    19. js Javascript files
    20. images Image files

    app

    app 存放源代码和模板。

    • app/controllers
    • app/models
    • app/views
      Revel 约定:

    • 模板文件放到 app/views目录

    • 控制器文件放到 app/controllers目录
      此外,Revel监视 app/ 目录,当发现文件变动时,会自动重新编译。app/ 目录以外的依赖关系不会被监视,在必要的时候由开发人员重新执行编译。

    Revel在app目录的init()函数开始的时候会导入 app/中的所有依赖包或者 ( 模块)。

    controllers/init.go 用于注册拦截器 interceptor。同一个包的源文件中init() 函数的执行无序的, 所以收集所有的拦截器定义到同一个文件中,便于开发者指定拦截器的执行顺序(也可以用于顺序敏感的初始化)。

    conf

    conf 目录包含了Revel应用程序的配置文件,有两个主要的配置:

    • app.conf, 主配置文件,包含了标准配置参数。
    • routes, 路由定义文件。

    messages

    messages 目录包含了本地化消息文件。

    public

    静态资源文件存放到 public 目录,由Web server 直接提供静态文件支持。 通常包含三个标准的子目录 images, CSS 和 JavaScript。

    目录的名字可以随意,使用的时候只需要与路由对应起来就好。