revel项目开发需明确app、conf、public三目录职责:app存放严格约定结构的控制器、模型与视图;conf仅通过app.conf及include加载配置;public为静态资源唯一根目录,路径须与url完全一致。

要快速上手Revel项目开发,必须清楚app、conf、public这三个核心目录各自承担什么职责,否则新建控制器找不到位置、改配置不生效、静态资源404等问题会反复出现。
app目录:存放业务逻辑与控制器的主战场
Revel中所有可执行的业务代码都放在app目录下,它不是Laravel或Beego那种“可自由组织”的松散结构,而是有【严格约定的子目录层级】——controller、model、view、filter、job等文件夹必须直接位于app下,否则框架启动时无法自动注册。
控制器文件必须放在app/controllers/路径下,且文件名需以Controller结尾(如AppController.go),函数名首字母大写才被识别为HTTP处理方法。
models目录用于存放数据结构定义和数据库操作逻辑;views目录则对应模板文件(.html后缀),路径需与控制器方法名严格匹配,例如AppController.Index()会默认渲染app/views/App/Index.html。
conf目录:配置加载的唯一入口,app.conf是启动命脉
conf目录只允许存在两个核心文件:app.conf和routes。其他任何配置文件(如db.conf、log.conf)若未在app.conf中通过include指令显式引入,Revel启动时将完全忽略。
方法一:直接编辑app.conf设置运行参数
打开conf/app.conf,修改run.mode = dev启用开发模式,同时确认http.port = 9000未被注释——【若此处端口被占用或格式错误,revel run命令会静默失败而不报错】。
方法二:按环境切分配置
在app.conf末尾添加include "app.${RUN_MODE}.conf",再新建conf/app.dev.conf,把数据库连接串、调试开关等仅开发期生效的配置放进去。Revel会在启动时自动读取对应环境文件,但前提是RUN_MODE环境变量已正确设置。
public目录:静态资源的强制出口,路径即URL路径
public目录是Revel中唯一能被Web服务器直接访问的静态资源根目录,CSS、JS、图片等文件必须放在这里,不能放在app或conf下。
第一步:创建public/css/main.css
第二步:在HTML模板中用引用
第三步:确保文件实际存在于public/css/main.css路径——Revel不会做路径映射或别名解析,【href里的/css/必须与public目录下的子路径完全一致】。
这一步操作起来很简单,直接把文件拖进去就行。但要注意:public目录下不能嵌套web.config、.htaccess等服务器配置文件,Revel内置的HTTP服务器不识别它们,反而可能因权限问题导致整个public目录不可访问。











