Go AppEngine:具有自動重新載入功能的分層範本
問題:
問題:問題:
問題:
問題:問我如何建構Go AppEngine應用程式中的範本實作:
|-- app.yaml |-- app | +-- http.go |-- templates | +-- base.html +-- github.com +-- storeski +-- appengine +-- products | +-- http.go | +-- templates | |-- list.html | +-- detail.html +-- account |-- http.go +-- templates |-- overview.html |-- notifications.html分層組織與 HTML工具的相容性開發伺服器上自動重新載入範本
func watchTemplates() { ticker := time.NewTicker(1 * time.Second) for range ticker.C { if err := parseTemplates(); err != nil { log.Printf("Error parsing templates: %v", err) } } }潛力挑戰:Template.ParseGlob()不會遞歸出於性能原因,不鼓勵上傳原始文本模板解決方案:組織你的Go AppEngine具有模組化結構的項目,其中每個包都擁有一個URL 前綴並包含自己的模板。這種方法允許您維護一致的基本模板並在每個包中擴展它。 範例專案結構:在每個套件的 http.go 檔案中,為其擁有的 URL 註冊處理程序。例如,產品包將處理以 /products 開頭的 URL。 在每個套件中,將模板儲存在「templates」子目錄中,並建立一個基本模板(例如 templates/base.html),以便其他模板可以擴充。 要在開發伺服器上啟用自動模板重新加載,請實現自訂函數來監視模板中的更改目錄:在主包中,調用watchTemplates() 定期檢查模板更改並重新載入它們。這可確保範本的更新自動反映在您的應用程式中。
以上是如何在 Go App Engine 中實作自動重新載入的分層範本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!