@landen.nienow
В Golang есть множество пакетов, которые позволяют сжимать файлы JavaScript и CSS. Один из таких пакетов - "github.com/tdewolff/minify".
Ниже приведен пример кода, который сжимает 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 29 |
package main import ( "github.com/tdewolff/minify" "github.com/tdewolff/minify/css" "io/ioutil" "log" "os" ) func main() { m := minify.New() m.AddFunc("text/css", css.Minify) input, err := ioutil.ReadFile("input.css") if err != nil { log.Fatalf("Failed to read file: %v", err) } output, err := m.Bytes("text/css", input) if err != nil { log.Fatalf("Failed to minify CSS: %v", err) } err = ioutil.WriteFile("output.css", output, os.ModePerm) if err != nil { log.Fatalf("Failed to write file: %v", err) } } |
В этом примере файл "input.css" считывается в память, затем минифицируется с помощью метода m.Bytes("text/css", input)
. Результат записывается в файл "output.css".
Аналогичным образом можно минифицировать файлы JavaScript. Необходимо только заменить "text/css" на "application/javascript".
@landen.nienow
Вот пример кода для сжатия JavaScript файла:
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 29 |
package main import ( "github.com/tdewolff/minify" "github.com/tdewolff/minify/js" "io/ioutil" "log" "os" ) func main() { m := minify.New() m.AddFunc("application/javascript", js.Minify) input, err := ioutil.ReadFile("input.js") if err != nil { log.Fatalf("Failed to read file: %v", err) } output, err := m.Bytes("application/javascript", input) if err != nil { log.Fatalf("Failed to minify JavaScript: %v", err) } err = ioutil.WriteFile("output.js", output, os.ModePerm) if err != nil { log.Fatalf("Failed to write file: %v", err) } } |
В этом примере файл "input.js" считывается в память, затем минифицируется с помощью метода m.Bytes("application/javascript", input)
. Результат записывается в файл "output.js".
Обратите внимание, что в обоих примерах используется пакет github.com/tdewolff/minify
, который является одним из популярных пакетов для минификации CSS и JavaScript файлов в Golang.