Loving Go的內置模板庫,目前我只是將模板聲明爲const字符串。通常如何包含更復雜的模板文件?理想情況下,我更喜歡將它們放在二進制文件中以簡化部署。在你的二進制文件中包含模板/ html文件
8
A
回答
7
在Go中沒有標準的方法來做到這一點。
由於註釋顯示,有幾個庫可以幫助您將二進制數據(如模板,圖像等)轉換爲可以使用您自己的源文件編譯爲最終二進制文件的Go源文件。
雖然這種方法適用於很多項目,我會建議您重新考慮。簡單分發的成本是,您必須在編譯主源代碼之前以及何時分發對模板/ javascript /圖像的小改動(例如,)時重新生成創建資源的源文件。包括這種方式,你將不得不重新編譯並重新啓動整個服務器。
我在前期工作過的大部分項目都是最常見的變化 - 這導致我們擺脫這種做法。
+0
是的,但我寧願只有一個文件需要部署/推送到每個服務器上,當它全部在一個文件中時,更容易回滾到早期版本。不得不編輯和推送/同步一組模板文件聽起來很不方便。你怎麼這麼做,也許是饒舌。更容易將它整合在一個文件中,我會爭論。 – Jacob
2
下面是滿足的需求並防止由mbazon所描述的困境的解決方案:
https://godoc.org/github.com/jteeuwen/go-bindata
它編譯成二進制的,但是當你在「調試」模式的時候,它可以直接讀取你的靜態資產從磁盤。
1
packr
類似於go-bindata
,而是積極地維護,甚至更好一點使用方法:
相關問題
- 1. 二進制模板文件
- 2. 在Jinja2模板中包含html文件
- 3. 如何將html或模板文件包含到.html文件中?
- 4. 將二進制數據文件包含到APK文件中
- 5. 在html文件中包含html文件
- 6. 我應該在Rails插件中包含二進制文件嗎?
- 7. 包含GNU ld鏈接描述文件的二進制文件
- 8. 在python包中包含外部二進制文件
- 9. 在Wordpress模板中包含PHP文件
- 10. 你如何編寫一個包含多個二進制文件的包?
- 11. npm包中的二進制文件
- 12. 如何在Android NDK項目中包含二進制文件?
- 13. 如何在一個二進制文件中「包含」.PNG圖像?
- 14. 我應該在rubygem中包含二進制文件嗎?
- 15. 如何在模板中包含靜態html文件?
- 16. 如何在Symfony2/Twig模板中包含原始HTML文件?
- 17. 模板中包含頭文件。
- 18. 包含PHP文件中Joomla模板
- 19. 包含x86 ARM x64二進制文件的單個NuGet包
- 20. PHP:讀取包含UDP數據包的二進制文件
- 21. Magento - 在phtml模板文件中包含/需要php文件
- 22. 在Go可執行文件中包含模板文件
- 23. 如何只包含python buildpack中的節點二進制文件?
- 24. 將包含0&1的文本文件轉換爲二進制文件
- 25. 如何將jquery模板文件作爲外部模板文件在每個文件中包含多個模板?
- 26. 包含html文件
- 27. HTML包含文件
- 28. HTML包含文件
- 29. 包含帶有模板的javascript文件
- 30. 包含來自Flask模板中靜態文件夾的文件
你的意思是像去-bindata或go.rice? (http://stackoverflow.com/q/12482311/6309) – VonC
也許?他們看起來像第三方公用事業。這是否意味着沒有標準化的方式? (如果是這樣的話,我有點驚訝) – Jacob