Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melaksanakan Templat Hierarki dengan Muat Semula Automatik dalam Enjin Aplikasi Go?

Bagaimana untuk Melaksanakan Templat Hierarki dengan Muat Semula Automatik dalam Enjin Aplikasi Go?

Linda Hamilton
Lepaskan: 2024-12-03 07:02:13
asal
326 orang telah melayarinya

How to Implement Hierarchical Templates with Automatic Reloading in Go App Engine?

Go AppEngine: Templat Hierarki dengan Muat Semula Automatik

Soalan:

Bagaimana saya boleh menstruktur templat dalam aplikasi Go AppEngine untuk capai:

  • Organisasi hierarki
  • Keserasian dengan alatan HTML
  • Muat semula templat automatik pada pelayan pembangun

Potensi Cabaran:

  • Templat.ParseGlob() tidak berulang
  • Memuat naik templat teks mentah tidak digalakkan atas sebab prestasi

Penyelesaian:

Atur Go AppEngine anda projek dengan struktur modular, di mana setiap pakej memiliki awalan URL dan mengandungi templatnya sendiri. Pendekatan ini membolehkan anda mengekalkan templat asas yang konsisten dan memanjangkannya dalam setiap pakej.

Contoh Struktur Projek:

|-- 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 
Salin selepas log masuk

Dalam setiap fail http.go pakej, daftarkan pengendali untuk URL yang dimilikinya. Sebagai contoh, pakej produk akan mengendalikan URL bermula dengan /products.

Dalam setiap pakej, simpan templat dalam subdirektori "templat" dan buat templat asas (cth., templat/base.html) yang templat lain boleh melanjutkan.

Untuk mendayakan muat semula templat automatik pada pelayan pembangun, laksanakan fungsi tersuai untuk melihat perubahan dalam templat direktori:

func watchTemplates() {
  ticker := time.NewTicker(1 * time.Second)
  for range ticker.C {
    if err := parseTemplates(); err != nil {
      log.Printf("Error parsing templates: %v", err)
    }
  }
}
Salin selepas log masuk

Dalam pakej utama anda, hubungi watchTemplates() untuk menyemak perubahan templat secara berkala dan muat semulanya. Ini memastikan kemas kini kepada templat dipaparkan secara automatik dalam aplikasi anda.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Templat Hierarki dengan Muat Semula Automatik dalam Enjin Aplikasi Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan