1. 程式人生 > >[go-web開發小試驗] 2-靜態資源處理--包括js css html

[go-web開發小試驗] 2-靜態資源處理--包括js css html

前言

光是能夠寫出hello world之類的程式還遠遠不夠,網站有前後之分,前端部分會有樣式表,指令碼,html靜態檔案,圖片資源,甚至有音訊視訊多媒體,pdf等等,所以,靜態資源的處理是必不可少的。

這裡提供一個參考實現:

Go 語言打包靜態檔案

利用go bindata打包靜態資源。

注意,本人不贊成使用這種方式打包資源,在一般網站裡面,靜態資源,圖片樣式表指令碼+元件起碼都200-300mb這樣打包到程式裡面真的不好,而且,萬一寫的後端程式需要直接上傳檔案到伺服器空間----就例如php網站那樣,怎麼實現好?況且,服務端就只解釋編譯動態語言好了,靜態資源的就不要管了。

還記得php是怎麼處理靜態資源的?
入門demo第一課裡面就提到了,直接將php專案放到apache下面,好了,今天我們的解決方案也是同樣原理,不過用的是nginx。

nginx安裝

安裝就不提了,在這裡下載:

nginx:download

然後解壓縮。。我習慣壓縮到d盤,譬如:

在這裡插入圖片描述

對了,我這裡的環境是win10 64位+go1.11,算是很常見的開發環境了,啟動,然後訪問:
在這裡插入圖片描述

好了,成功訪問。

本地域名新增+靜態資源代理

接下來,我們要將網站的訪問都交給nginx處理。
首先,為自己的專案網站配置一個開發用的本地域名。

如何配置看這裡:
本地電腦通過修改hosts檔案實現域名本地解析

幾個要點:
在這裡插入圖片描述

在這裡插入圖片描述

例如,我將專案域名定為:
www.dev-go-hello.com
這樣修改:
在這裡插入圖片描述

好了,然後用這個域名訪問我們的hello world 玩具網站:

在這裡插入圖片描述

本機域名新增成功。

下面,在玩具專案裡面新增一些靜態資源:
譬如這幾個:
在這裡插入圖片描述

webContent就是靜態資源的根目錄了。。嗯,這名字只是個人愛好,隨意改即可。
然後,在nginx裡面配置:

參考:
Nginx實現靜態資源伺服器

首先,為了dev-go-hello這個網站新建一個配置檔案:
在這裡插入圖片描述

而裡面的內容為:


server
{
    listen 80;
    server_name www.dev-go-hello.com;
    #####靜態目錄配置
	location /image/ {
            root   C:/Users/HASEE/go/src/awesomeProject/WebContent/;
            autoindex on;
        }        
  ##location / {
      ##  #將全部請求都轉發到go服務端
       ## proxy_pass http://localhost:9090;
 ## }
##算了 ,以下結尾的都是服務端,需要交給伺服器作處理。
location ~* \.(do|aspx|jsp|nutz)$ {
       #將全部請求都轉發到go服務端
        proxy_pass http://localhost:9090;
 } 
}