演示地址 http://gblog-revel.herokuapp.com/
1.自述
为什么是go,不是说好的android游戏开发的吗?恩,起初是这么做的,但是在做android的时候发现不能真机调试了,这很恶心,每一次的卸载,安装拔线插线的过程实在是受不了了,好吧,玩点其它的把,然后就选择了go,如果以后google把android的改成了用go开发,我也不用担心不是吗(虽然看起来还是比较遥远的事情)。那么为什么这次是blog了呢?你的创意呢?你的idea用完了吗?恩,也许吧,先做个简单的blog,等我再有什么创意的时候再做吧。Nodejs不玩了吗?暂时不玩而已,不过不得不说nodejs真的很不错,有很多不错的东西值得去学习,等等吧,哪天把它系统的看一看,再回来搞。android呢?目前不太清除啊,以后会不会继续要看心情。。。。(你妹的心情啊)。2.环境与框架
go:1.2.1revel:0.9.1
mgo:r2014.03.12
我们假设你已经安装并配置好了go(如果你还没有安装,请自己搜索一下,安装与配置的帖子太多了),这里说一下为什么选择revel(不管怎么说它看起来还是很young),当时,自己去搜索了一下go 的web框架,然后首先看到的就是这个,看着它的官方站挺简洁(这是选它的主要原因),然后就。。。。为什么是mongo?本地就只有一个mongo数据库,所以。。。。
请保证你的GOPATH是存在的,其实这个路径就是来配置你的workspace位置,用来存放你的project的。我自己的GOPATH位置是:/home/jov/sapp/gopro(不管你是windows还是linux,环境的配置我希望不是问题)
revel的安装,这个是官方地址http://revel.github.io/,当初安装的时候也是比较曲折的revel中文社区的命令与官方的安装命令竟然不一样,很纠结差点放弃了。安装命令:
go get github.com/revel/cmd/revel
当然官方还有运行它的demo的例子,这个自行研究,如果这个命令安装之后使用revel new MyTest发现还是不能使用revel,请不要放弃,再使用命令:
go build -o bin/revel github.com/revel/cmd/revel
这个是编译命令,他会在你的GOPATH目录的下面的bin目录里面生成有一个没有后缀的revel文件,把它添加到你的PATH中,比如我的PATH=$PATH:$GOPATH/bin,如果你是windows,那应该是%GOPATH%\bin。
mgo的安装(http://labix.org/mgo),命令:
go get labix.org/v2/mgo
这个是要有bzr命令的(在官方的Installing中有下面这句话:To install mgo, make sure you have the bzr command available and then run:注意bzr,这是一个链接,如果你没有安装点击进去安装)
开发工具用什么呢?这次没办法用eclipse,好把,用了下sublime.如果以上环境都陪好了,我们差不多可以工作了。
开始~~~~~:
jov@jov:~$ revel new MyTest ~ ~ revel! http://revel.github.io ~ Your application is ready: /home/jov/sapp/gopro/src/MyTest You can run it with: revel run MyTest jov@jov:~$revel new MyTest是建了一个新的project,它会放在你在GOPATH中配置的路径的src目录下,我们来revel run MyTest看看
jov@jov:~$ revel run MyTest ~ ~ revel! http://revel.github.io ~ INFO 2014/04/24 10:22:31 revel.go:320: Loaded module testrunner INFO 2014/04/24 10:22:31 revel.go:320: Loaded module static INFO 2014/04/24 10:22:31 run.go:57: Running MyTest (MyTest) in dev mode INFO 2014/04/24 10:22:31 harness.go:165: Listening on :9000恩,打开浏览器。localhost:9000看看:
nice,你成功了吗?
我们来看一下它的目录结构:
大的目录分为app、conf、messages、public、tests。其中:
app下面是我们的主要业务逻辑,又分为controllers、views、init.go和两个不能修改的routes、tmp文件夹。controllers相当于我们的action主要处理都放在这里面,views就是我们的html页面,里面的东西也是一目了然。init.go是一些初始化加载的东西。
conf下面的两个文件app.conf是配置文件,routes则是呢我们后面需要用到的路由配置文件。
messages主要是做国际化的,目前用不到。
public里面是一些资源,css,image,js等
tests则是我们的跑case的地方,博主比较懒,重来不写测试。
好了,这一章你应该知道revel怎么用了,也可一做一些简单的东西了。下一章开始我们的blog教程。
由于blog早就写完了,源码地址:https://github.com/joveth/GBlog目前还没办法部署,直接看到效果,下面先给几张图片看看:
交流QQ:158325682
有疑问加站长微信联系(非本文作者)