基于 Gin 的 Go 前端组件化 web 框架

vway · 2017-03-21 15:17:41 · 5498 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2017-03-21 15:17:41 的主题,其中的信息可能已经有所发展或是发生改变。

基于 Gin 的 Go (风格)轻量高效的前端组件化 web 框架,这是一项正在完善的工作

Ego 是一个用 Go 编写的全栈 Web 框架,轻量级和高效的前端组件解决方案

前端编译执行,不影响后端效率

项目地址: https://github.com/go-ego/ego

安装:

go get -u github.com/go-ego/ego

例子: https://github.com/go-ego/ego/tree/master/examples/ego

路由

package main

import (
    "github.com/go-ego/ego"
)

func main() {

    router := ego.Classic()
    ego.UseRenders()

    router.GlobHTML("views/html/*")

    parArr := [5]int{1, 2, 3, 4, 5}
    router.EgoRouter("/head/", "head/head.html", ego.Map{
        "head":   "Test to load the HTML template",
        "parArr": parArr,
    })

    router.Run(":3100")
}

icon.vgo

<div class="icon">
    <i class="iconfont {vclass}" {node}></i>
    <p>{prpo}</p>
</div>

<style>

.header-left{
    float:left;
}

.header-right{
    float:right;
}

.iconfont {
  position: relative;
  font-size:24px
}
</style>

head.vgo

import (
    "icons"
    icon "icons/icon.vgo"
    )

<div class="head">
    <div>ego:{{.head}}</div>

    <icon>
        vclass={icon-share-to}
        node={ id="slot1"}
        prpo={node---1}
    </icon>

    <div>
        {{range .parArr}}
            <p>arr::: {{.}}</p>
        {{end}}
    </div>

</div>

效果图: https://github.com/go-ego/ego/blob/master/img/head.png

另外写了一个Json预览和测试页面:

package main

import (
    "github.com/go-ego/ego"
)

const httpUrl string = "http://127.0.0.1:3000"

func main() {

  router := ego.Classic()

  router.Static("/js", "./views/js")
  router.Static("/src", "./views/src")
  router.GlobHTML("views/html/*")

  strUrl := httpUrl + "/test/hlist"
  paramMap := ego.Map{
    "lon":  "10.1010101",
    "lat":  "20.202020",
    "type": "1",
  }
  router.TestHtml(strUrl, paramMap)

  router.Run(":3100")
}

效果图: https://github.com/go-ego/ego/blob/master/img/test.png


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

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

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