-

按照go 命令行工具的要求将Revel和Revel应用程序安装到 GOPATH。 (参考 “GOPATH 环境变量” 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/中的所有依赖包或者 ( 模块)。

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

conf

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

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

messages

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

public

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

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