目录结构

Buffalo new会为我们的项目生成一个最小的目录结构。这个结构相对来说比较简洁和干净。让我们把更多的时间放在我们项目的逻辑实现部分,而不是重复发明轮子。

让我们来看看项目下的目录结构吧。

根目录

下面是一个buffalo项目的目录结构

  • github.com/username/myapp/ — your app root
    • actions/
    • assets/
    • grifts/
    • locales/
    • models/
    • public/
    • templates/
    • tmp/
    • database.yml
    • main.go

actions

这个目录就是MVC模式中的Controller。他包含了项目中url所对应的handler。

  • app.go文件实现了 app和路由的部分
  • render.go文件实现模板引擎相关的工作

assets

这个目录是可选的,如果app只是一个api服务,那么可以删除这个目录。
这个目录主要存放通过编译和压缩过的资产文件。

grifts

这个目录也是可选的,如果项目中用不到task,就可以删除这个目录。
这个目录主要包含了通过grifts实现的所有task。

locales

这个目录也是可选的,如果我们的app只用到一种语言的话,我们可以删除他,同时删除actions目录下app.go中 i18n模块。
这么目录顾名思义就是给 i18n使用的。里面主要各种语言对应的字符串关系映射表。

models

如果建立项目的时候使用了pop/soda,就会自动生成这个目录。
这个目录也是可选的,如果我们的项目中没有用到数据库,那可以删除这个目录。
这个目录就是MVC模式中的Model部分,目录包括了models.go文件和我们项目中用到的模型文件。models.go文件主要就是初始化数据连接。

public

这个目录是自动生成的。
这个目录包含了编译和压缩过的对外服务的静态资产文件。如果使用webpack,webpack也会将资产放到这个目录。

templates

这个目录是可选的,如果我们的app是api服务,那么这个目录也是可以删除的。
这个目录就是MVC模式中的View部分,主要包含了项目中用到的所有模板文件。

tmp

这个目录是自动生成的。
他主要是使用buffalo dev命令行工具时产生的一些临时文件。

database.yml

这个文件是可选的,如果我们的app没有用到数据库,或者orm用的不是pop/soda,也就可以删除了。
具体详细的配置方法见 pop/soda

main.go

我们app的入口文件。

本文章首发在 LearnKu.com 网站上。
上一篇 下一篇
superwen
讨论数量: 0
发起讨论 只看当前版本


暂无话题~