go編譯靜態檔案
來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近用go語言寫了個 [成都房地產薪酬](http://www.cdhr6.com) 網站,抓取網上的招聘資訊並進行統計。中間遇到一些坑在這裡記錄下來方便以後查閱go在編譯成二進位檔案時並沒有把我們的靜態資源檔案編譯進去,如果我們開發的是web應用的話就需要想辦法把我們的靜態檔案也編譯進去,這裡我們使用 [go-bindata](https://github.com/jteeuwen/go-bindata) 它可以把我們的靜態檔案產生 .go 檔案,這樣就可以編譯成二進位檔案,項目啟動的時候再把這個 .go 檔案再釋放成靜態檔案目錄結構:首先在項目中匯入go-bindata包:```go get -u github.com/jteeuwen/go-bindata/...```然後使用終端進入到項目的src目錄中執行:```go-bindata -o=./asset/asset.go -pkg=asset view/...```-o:需要產生的路徑和檔案, -pkg:包名,view/... 需要執行的目錄,這裡是view路徑下所有的檔案。執行後就會在src目錄下面產生我們需要的檔案:最後在main方法中添加:```dirs := []string{"view"} // 設定需要釋放的目錄for _, dir := range dirs {// 解壓dir目錄到目前的目錄if err := asset.RestoreAssets("./", dir); err != nil {break}}```這樣當程式啟動並執行時候就會把view目錄重新釋放出來303 次點擊