# 模块
模块是一些包,可以集成到Revel程序中。Revel允许多个Revel程序(或第三方代码)共享控制器、模板、资源和其他代码。
模块中文件的布局应当与Revel应用程序文件结构一致。“托管”应用程序会按以下方式将它们合并:
1. module/app/views 的所有模板,会被添加到模板加载器的搜索路径中
2. module/app/controllers 的所有控制器, 将被视为你的应用程序中的控制器。
3. 资源文件通过 `Static.ServeModule("modulename","public")` 提供
4. 路由通过 `module:modulename` 被添加到你的程序中
### 启用一个模块
为了将模块添加到您的应用程序,需要在`app.conf` 中添加一行配置:
~~~
module.mymodulename = go/import/path/to/module
~~~
如果导入路径为空,将禁用模块:
~~~
module.mymodulename =
~~~
举个栗子, 启用测试运行模块:
~~~
module.testrunner = github.com/revel/revel/modules/testrunner
~~~