@akeem
В Go есть несколько пакетов, которые могут помочь сжать и минимизировать файлы JavaScript и CSS. Вот несколько примеров:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
package main import ( "fmt" "io/ioutil" "github.com/tdewolff/minify" "github.com/tdewolff/minify/js" "github.com/tdewolff/minify/css" ) func main() { input, err := ioutil.ReadFile("script.js") if err != nil { panic(err) } m := minify.New() m.AddFunc("text/javascript", js.Minify) m.AddFunc("text/css", css.Minify) compressed, err := m.Bytes("text/javascript", input) if err != nil { panic(err) } fmt.Println(string(compressed)) } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
package main import ( "fmt" "io/ioutil" "github.com/tdewolff/parse/v2/css" ) func main() { input, err := ioutil.ReadFile("styles.css") if err != nil { panic(err) } stylesheet, err := css.Parse(input, false) if err != nil { panic(err) } // Минимизировать стили stylesheet.Minify().WriteToIndent(nil) fmt.Println(css.Print(stylesheet)) } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
package main import ( "net/http" "github.com/gorilla/handlers" ) func main() { // Обработчик для сжатия и минимизации файлов http.Handle("/static/", handlers.CompressHandler(http.StripPrefix("/static/", http.FileServer(http.Dir("./static"))))) // Запуск сервера http.ListenAndServe(":8080", nil) } |
Указанные выше пакеты могут помочь вам сжать и минимизировать файлы JavaScript и CSS в Go. Вы можете использовать эти пакеты в своем проекте, чтобы достичь требуемой компрессии файлов.