Dalam tutorial "Menulis Aplikasi Web" Go, pengguna sering menghadapi kesukaran menyediakan fail CSS dan JS. Panduan ini menyediakan arahan langkah demi langkah untuk menyelesaikan isu ini, memastikan aplikasi Go anda dapat menyampaikan aset penting ini dengan berkesan.
Untuk menyampaikan fail statik, anda perlu struktur fail yang menyerupai ini:
go-app/ ├── assets │ ├── css │ │ └── style.css │ └── js │ │ └── script.js ├── main.go ├── index.html
Apabila menentukan laluan URL untuk aset anda, terdapat beberapa pilihan:
1. Bersiaran daripada "/":
http.Handle("/", http.FileServer(http.Dir("css/")))
Ini menyediakan direktori CSS di URL akar (/).
2. Menggunakan Awalan:
http.Handle("/static/", http.FileServer(http.Dir("static")))
Ini memberi awalan kepada semua laluan fail statik dengan "/statik". Jadi, fail CSS boleh diakses di /static/css/style.css.
3. Menanggalkan Awalan:
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))
Ini mengalih keluar awalan sebelum menyampaikan fail. Jadi, fail CSS boleh diakses di /css/style.css.
Dalam fail HTML anda, rujuk aset anda menggunakan laluan URL yang sesuai:
<link rel="stylesheet" href="/css/style.css"> <script src="/js/script.js"></script>
Dengan konfigurasi ini disediakan, fail main.go anda yang dikemas kini sepatutnya kelihatan seperti ini:
func main() { http.HandleFunc("/view/", makeHandler(viewHandler)) http.HandleFunc("/edit/", makeHandler(editHandler)) http.HandleFunc("/save/", makeHandler(saveHandler)) http.HandleFunc("/", makeHandler(indexHandler)) http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) http.ListenAndServe(":8080", nil) }
Dengan melaksanakan pengesyoran ini, anda boleh memastikan aplikasi Go anda berjaya menyajikan fail CSS dan JS, memberikan pengalaman pengguna yang lengkap dan berfungsi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melayan Aset Statik (CSS & JS) dengan Cekap dalam Aplikasi Web My Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!