go语言web模板 go语言web框架推荐( 二 )


package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
// 静态资源加载 , 本例为css,js以及资源图片
router.StaticFS("/public", http.Dir("D:/goproject/src/github.com/ffhelicopter/tmm/website/static"))
router.StaticFile("/favicon.ico", "./resources/favicon.ico")
// Listen and serve on 0.0.0.0:80
router.Run(":80")
}
首先需要是生成一个 Engine , 这是 gin 的核心,默认带有 Logger 和 Recovery 两个中间件 。
router := gin.Default()
StaticFile 是加载单个文件,而 StaticFS 是加载一个完整的目录资源:
func (group *RouterGroup) StaticFile(relativePath, filepath string) IRoutes
func (group *RouterGroup) StaticFS(relativePath string, fs http.FileSystem) IRoutes
这些目录下资源是可以随时更新 , 而不用重新启动程序 。现在编译运行程序,静态站点就可以正常访问了 。
Go语言做Web应用开发的框架,哪一个更适合入门Revel Web开源框架
个高效的Go语言Web开发框架, 其思路完全来自 Java 的 Play Framework 。
特点
热编译,简单可选,同步(每个请求都创建自己的goroutine来处理 。
Go语言Web框架:beego
一个用Go开发的应用框架,思路来自于tornado , 路由设计来源于sinatra 。
支持特性
MVC;
REST;
智能路由;
日志调试;
配置管理;
模板自动渲染;
layout设计;
中间件插入逻辑;
方便的JSON/XML服务;
81.go + vue实现web应用程序 前端框架越来越丰富go语言web模板 , 前后端分离已经是大多数软件团队采取的模式go语言web模板了 。vue使用的场景也越来越多 。
go本来使用template模板来进行前端的表现go语言web模板,现在可以用vue来分担很大一部分工作go语言web模板了 。
通常直接使用go语言写后端 , 然后使用静态模板加载渲染前端,前端获取后端提供的数据是使用{{ }}符号,2个套在一起的花括号 。这个也是vue使用的数据表现方式 。
如果go+vue来协同工作的话 , 需要对vue进行一点设置 。比如把{{ }}的方式改为[[ ]]的方式 。
首先我们要知道,vue的使用 , 需要在页面中加载vue.js或vue.min.js
纯静态网页使用vue是这样的(给个html例子)
然后我们实现一个go的简单web服务和模板页面
这个go服务器通过端口 1989 展示服务器页面,提供了一个静态文件路径 htmlpage,我们把vue.js和index.html文件都放置在htmlpage路径里 。
go服务器还用模板给前台页面提供了一个News结构的数据,数据包括go语言web模板:Title,Content,Author的值 。
在index.html页面中 , 加载vue.js的时候需要带上静态路径 htmlpage
在 new 一个 vue 变量的时候,必须有一句来设置包裹数据的符号,我们这里设置这个符号为[[ ]]
同时,所有需要由 vue 渲染的数据,都写成类似这样的样子
在 go + vue 方式下的完整模板文件 index.html
此页面中{{ }}包裹的数据是由go从后端提供的数据( 例如:{{.Title}}),而[[ ]]包裹的数据 , 是vue渲染的数据 。
只是把 Vue里的数据,改为由go后端提供即可 。
好吧,作者已经在向月亮示爱了 。呵呵 _
运行一下程序,看修改模板后的效果 。
有哪些不错的golang开源项目根据官方1.4版本的发布时候(2014.12)判断(官方说大概六个月后出新版本)预计五月底六月初 。因为这次的版本改进幅度有点大,不排除延迟发布的可能 。
关于go语言web模板和go语言web框架推荐的介绍到此就结束了 , 不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读