【Go web開發之revel+mgo】第1章 述與環境

演示地址   http://gblog-revel.herokuapp.com/

1.自述

爲何是go。不是說好的android遊戲開發的嗎?恩。起初是這麼作的,但是在作android的時候發現不能真機調試了。這很是噁心,每一次的卸載,安裝拔線插線的過程實在是受不了了,好吧。玩點其餘的把,而後就選擇了go,假設之後google把android的改爲了用go開發,我也不用操心不是嗎(儘管看起來仍是比較遙遠的事情)。那麼爲何此次是blog了呢?你的創意呢?你的idea用完了嗎?恩,或許吧,先作個簡單的blog。等我再有什麼創意的時候再作吧。Nodejs不玩了嗎?臨時不玩而已,只是不得不說nodejs真的很是不錯。有很是多不錯的東西值得去學習。等等吧。哪天把它系統的看一看。再回來搞。android呢?眼下不太清除啊,之後會不會繼續要看心情。。。。(你妹的心情啊)。

2.環境與框架

go:1.2.1

revel:0.9.1css

mgo:r2014.03.12html

咱們若是你已經安裝並配置好了go(若是你尚未安裝,請本身搜索一下。安裝與配置的帖子太多了),這裏說一下爲何選擇revel(不管怎麼說它看起來仍是很是young),當時,本身去搜索了一下go 的web框架,而後首先看到的就是這個,看着它的官方站挺簡潔(這是選它的主要緣由),而後就。

node

。。linux


爲何是mongo?本地就僅僅有一個mongo數據庫,因此。。android

。。git


請保證你的GOPATH是存在的,事實上這個路徑就是來配置你的workspace位置,用來存放你的project的。我本身的GOPATH位置是:/home/jov/sapp/gopro(不管你是windows仍是linux。環境的配置我但願不是問題)
github

revel的安裝,這個是官方地址http://revel.github.io/,當初安裝的時候也是比較曲折的revel中文社區的命令與官方的安裝命令竟然不同,很是糾結差點放棄了。安裝命令:web

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。windows

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
相關文章
相關標籤/搜索