编写GO的WEB开发框架 (十五): 目录结构及如何使用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,待完善中 ^&^

转载于:https://my.oschina.net/tim8670/blog/644696

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值