您的位置:首页 > 编程语言 > Go语言

编写GO的WEB开发框架 (十五): 目录结构及如何使用ecgo开发项目

2016-03-21 00:00 776 查看
摘要: 本篇主要讲述go本项目的目录结构以及部署等相关内容,同时讲述了怎么使用ecgo框架提供的脚本进行项目初始化和部署

到目前为止,框架本身的内容已基本写完,编写go web框架系列最后一篇,来讲一下项目的初始化、目录结构以及部署等相关内容。

BTW: 该框架命名为ecgo,意为易学,易用,易扩展,并使用github管理 : https://github.com/tim1020/ecgo

go的包和目录结构

尽管go的包管理以及官方建议的项目结构受到很多吐槽,但不能反抗就只能快乐的接受。下面先看看go的相关环境设置:

go命令目录加入到PATH(可以直接使用go build等命令)

workarea目录加到环境变量GOPATH(即工作目录)
+src --是放置各个项目或包的源码,包括import进来的外部包
+pkg --是编译时生成的文件
+bin --是生成的执行文件放置的路径。

执行go build 时,执行文件会在当前目录生成,执行go install才会将执行文件放置在$GOPATH/bin目录

ecgo的目录结构

一个程序,除了执行文件,往往还需要配置文件以及其它辅助文件(比如模板文件),而且使用工作目录来作为生产目录也不合理。所以ecgo在开发过程中和实际部署时,进行了隔离:

开发目录(源码目录)

$GOPATH/src/myapp

main.go  --入口文件
controller --controller代码
serverce -- service层代码

conf/   --配置文件目录
logs --日志目录
public --静态文件目录
views --模板文件目录

开发过程中,编译生成的执行文件也在myapp下,运行时可以调用当前目录的conf和views等文件

部署目录

实际部署时,应该与开发环境隔离,比如安装到 ~/app/myapp/

conf/  --配置文件目录
logs/  --日志目录
views/ -- 模板目录
public/-- 静态文件目录
myapp -- 执行文件

myapp是生成的执行文件,然后将~/app/myapp加入到环境变量PATH,就可以直接用 myapp来启动应用了

开始使用ecgo

作为一个框架,当然需要提供方便创建新项目的功能了,ecgo命名用了bash脚本来实现。使用ecgo来开发一个项目的步骤是:

安装go,并配置好相应的环境变量

获取ecgo

go get github.com/tim1020/ecgo

新建一个ecgo项目

cd $GOPATH/src/github.com/tim1020/ecgo/tools

chmod +x ecgo

./ecgo new myapp

完成后,myapp的目录结构如上面开发目录所述,并有一个hello world的例子

按需求编写service和controller,测试

开发测试完成,正式部署

ecgo install myapp $HOME/myapp

以上指令将myapp目录安装到$HOME/myapp

建议将$HOME/myapp加到PATH,之后就可以使用myapp [start|restart|stop]来管理你的应用了

## 附:bash脚本代码

源码在 https://github.com/tim1020/ecgo/ 的tools/ecgo,待完善中 ^&^
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息