Go 靜態(tài)文件支持

2022-05-13 16:54 更新

我們在前面已經(jīng)講過如何處理靜態(tài)文件,這小節(jié)我們詳細(xì)的介紹如何在beego里面設(shè)置和使用靜態(tài)文件。通過再介紹一個(gè)twitter開源的html、css框架bootstrap,無需大量的設(shè)計(jì)工作就能夠讓你快速地建立一個(gè)漂亮的站點(diǎn)。

beego靜態(tài)文件實(shí)現(xiàn)和設(shè)置

Go的net/http包中提供了靜態(tài)文件的服務(wù),ServeFileFileServer等函數(shù)。beego的靜態(tài)文件處理就是基于這一層處理的,具體的實(shí)現(xiàn)如下所示:

//static file server
for prefix, staticDir := range StaticDir {
	if strings.HasPrefix(r.URL.Path, prefix) {
		file := staticDir + r.URL.Path[len(prefix):]
		http.ServeFile(w, r, file)
		w.started = true
		return
	}
}

StaticDir里面保存的是相應(yīng)的url對應(yīng)到靜態(tài)文件所在的目錄,因此在處理URL請求的時(shí)候只需要判斷對應(yīng)的請求地址是否包含靜態(tài)處理開頭的url,如果包含的話就采用http.ServeFile提供服務(wù)。

舉例如下:

beego.StaticDir["/asset"] = "/static"

那么請求url如http://www.beego.me/asset/bootstrap.css就會請求/static/bootstrap.css來提供反饋給客戶端。

bootstrap集成

Bootstrap是Twitter推出的一個(gè)開源的用于前端開發(fā)的工具包。對于開發(fā)者來說,Bootstrap是快速開發(fā)Web應(yīng)用程序的最佳前端工具包。它是一個(gè)CSS和HTML的集合,它使用了最新的HTML5標(biāo)準(zhǔn),給你的Web開發(fā)提供了時(shí)尚的版式,表單,按鈕,表格,網(wǎng)格系統(tǒng)等等。

  • 組件 
  • Bootstrap中包含了豐富的Web組件,根據(jù)這些組件,可以快速的搭建一個(gè)漂亮、功能完備的網(wǎng)站。其中包括以下組件:

        下拉菜單、按鈕組、按鈕下拉菜單、導(dǎo)航、導(dǎo)航條、面包屑、分頁、排版、縮略圖、警告對話框、進(jìn)度條、媒體對象等

  • Javascript插件
  • Bootstrap自帶了13個(gè)jQuery插件,這些插件為Bootstrap中的組件賦予了“生命”。其中包括:

        模式對話框、標(biāo)簽頁、滾動(dòng)條、彈出框等。

  • 定制自己的框架代碼
  • 可以對Bootstrap中所有的CSS變量進(jìn)行修改,依據(jù)自己的需求裁剪代碼。


接下來我們利用bootstrap集成到beego框架里面來,快速的建立一個(gè)漂亮的站點(diǎn)。

  1. 首先把下載的bootstrap目錄放到我們的項(xiàng)目目錄,取名為static,如下截圖所示

  2. 因?yàn)閎eego默認(rèn)設(shè)置了StaticDir的值,所以如果你的靜態(tài)文件目錄是static的話就無須再增加了:
  3. StaticDir["/static"] = "static"
  4. 模板中使用如下的地址就可以了:
  5. //css文件
    <link href="/static/css/bootstrap.css" rel="stylesheet">
    	
    //js文件
    <script src="/static/js/bootstrap-transition.js"></script>
    	
    //圖片文件
    <img src="/static/img/logo.png">

上面可以實(shí)現(xiàn)把bootstrap集成到beego中來,如下展示的圖就是集成進(jìn)來之后的展現(xiàn)效果圖:


這些模板和格式bootstrap官方都有提供,這邊就不再重復(fù)貼代碼,大家可以上bootstrap官方網(wǎng)站學(xué)習(xí)如何編寫模板。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號