go編譯靜態檔案

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。最近用go語言寫了個 [成都房地產薪酬](http://www.cdhr6.com) 網站,抓取網上的招聘資訊並進行統計。中間遇到一些坑在這裡記錄下來方便以後查閱go在編譯成二進位檔案時並沒有把我們的靜態資源檔案編譯進去,如果我們開發的是web應用的話就需要想辦法把我們的靜態檔案也編譯進去,這裡我們使用 [go-bindata](https://github.com/jteeuwen/go-bindata) 它可以把我們的靜態檔案產生 .go 檔案,這樣就可以編譯成二進位檔案,項目啟動的時候再把這個 .go 檔案再釋放成靜態檔案目錄結構:![目錄結構](http://img.blog.csdn.net/20170927135450027?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbjE5NTgyMjA4MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)首先在項目中匯入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目錄下面產生我們需要的檔案:![這裡寫圖片描述](http://img.blog.csdn.net/20170927135958159?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbjE5NTgyMjA4MA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)最後在main方法中添加:```dirs := []string{"view"} // 設定需要釋放的目錄for _, dir := range dirs {// 解壓dir目錄到目前的目錄if err := asset.RestoreAssets("./", dir); err != nil {break}}```這樣當程式啟動並執行時候就會把view目錄重新釋放出來303 次點擊  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.