Revel框架安装

wulengweijie · · 2873 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Revel框架安装

官网:http://revel.github.io/tutorial/index.html
中文社区:http://www.gorevel.cn/


一、安装Revel框架
    下载Revel框架源码,将其源码放入%GOPATH%src/github.com/revel/revel目录下,然后在%GOPATH%src目录下进行编译操作:
    编译:go build github.com/revel/revel
    结果报错,如下:
    src\github.com\revel\revel\revel.go:17:2: cannot find package "github.com/ag
    torre/gocolorize" in any of:
            D:\Go\src\github.com\agtorre\gocolorize (from $GOROOT)
            D:\GO_WorkSpace\src\github.com\agtorre\gocolorize (from $GOPATH)
    src\github.com\revel\revel\compress.go:13:2: cannot find package "github.com
    /klauspost/compress/gzip" in any of:
            D:\Go\src\github.com\klauspost\compress\gzip (from $GOROOT)
            D:\GO_WorkSpace\src\github.com\klauspost\compress\gzip (from $GOPATH
    )
    src\github.com\revel\revel\compress.go:14:2: cannot find package "github.com
    /klauspost/compress/zlib" in any of:
            D:\Go\src\github.com\klauspost\compress\zlib (from $GOROOT)
            D:\GO_WorkSpace\src\github.com\klauspost\compress\zlib (from $GOPATH
    )
    src\github.com\revel\revel\i18n.go:15:2: cannot find package "github.com/rev
    el/config" in any of:
            D:\Go\src\github.com\revel\config (from $GOROOT)
            D:\GO_WorkSpace\src\github.com\revel\config (from $GOPATH)
    src\github.com\revel\revel\router.go:18:2: cannot find package "github.com/r
    evel/pathtree" in any of:
            D:\Go\src\github.com\revel\pathtree (from $GOROOT)
            D:\GO_WorkSpace\src\github.com\revel\pathtree (from $GOPATH)
    import cycle not allowed
    package github.com/revel/revel
            imports golang.org/x/net/websocket
            imports golang.org/x/net/websocket
    src\golang.org\x\net\websocket\watcher.go:13:2: cannot find package "gopkg.i
    n/fsnotify.v1" in any of:
            D:\Go\src\gopkg.in\fsnotify.v1 (from $GOROOT)
            D:\GO_WorkSpace\src\gopkg.in\fsnotify.v1 (from $GOPATH)

    根据错误信息,分别下载以下包:
    github.com/agtorre/gocolorize
    github.com/klauspost/compress
    github.com/revel/config
    github.com/revel/pathtree
    golang.org/x/net
    gopkg.in/fsnotify.v1

    将各个包的源码放在相应的路径下。然后再次执行:
        go build github.com/revel/revel
    编译成功

二、安装Revel命令行工具
    下载Revel命令行工具源码,将其源码放入%GOPATH%src/github.com/revel/cmd目录下,然后在%GOPATH%src目录下进行编译操作:
    编译: go build github.com/revel/cmd/revel
    结果报错,如下:
    D:\GO_WorkSpace\src\github.com\revel\cmd\revel\test.go:19:2: cannot find package         "github.com/revel/modules/testrunner/app/controllers" in any of:
            D:\Go\src\github.com\revel\modules\testrunner\app\controllers (from $GOROOT)

            D:\GO_WorkSpace\src\github.com\revel\modules\testrunner\app\controllers (from         $GOPATH)

    根据错误信息,下载以下包:
    github.com/revel/modules
    将其源码放在相应的路径下。然后再次执行:
        go build github.com/revel/cmd/revel
    编译成功
    
三、创建 Revel 应用
    重启命令行工具,然后在%GOPATH%src目录下创建 Revel 应用。
    命令:
        revel new MyRevelApp
        revel run MyRevelApp
        
四、打开浏览器访问 http://localhost:9000
    默认监听9000端口。

五、Revel指令
    1、revel
    在命令行输入`revel`,得到所有revel指令的说明:
        usage: revel command [arguments]

        The commands are:

               new         create a skeleton Revel application
               run         run a Revel application
             build       build a Revel application (e.g. for deployment)
              package     package a Revel application (e.g. for deployment)
                clean       clean a Revel application's temp files
                test        run all tests from the command-line
                version     displays the Revel Framework and Go version

        Use "revel help [command]" for more information.
    
    2、revel help [command]
    revel help [command]用于获取相关指令的帮助说明。例:
    
    在命令行输入`revel help new`,得到所有关于new指令的说明:
        usage: revel new [path] [skeleton]

        New creates a few files to get a new Revel application running quickly.

        It puts all of the files in the given import path, taking the final element in
the path to be the app name.

        Skeleton is an optional argument, provided as an import path

        For example:

                revel new import/path/helloworld

                revel new import/path/helloworld import/path/skeleton
    
六、Revel框架的MVC模式概念
    MVC(模型-视图-控制器):
        模型:描述基本的数据对象,特定的查询和更新逻辑。
        视图:一些模板,用于将数据呈现给用户。
        控制器:执行用户的请求,准备用户所需的数据,并指定模板进行渲染。
    具体参考:
        http://www.gorevel.cn/docs/manual/concepts.html
        
七、Revel路由配置
    在Conf目录下的routes文件进行配置
    具体参考:
        http://www.gorevel.cn/docs/manual/routing.html
 


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2873 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传