Golang:使用wellington/go-libsass对CSS进行预处理

wellington/go-libsass是一个用于预处理CSS文件的库,采用 Go封装,100% 与 Sass 兼容的 libsass 项目

不过需要依赖libsass,现在已经过时了,可以考虑使用dart-sass

文档

安装

bash 复制代码
go get github.com/wellington/go-libsass

代码示例

go 复制代码
package main

import (
    "os"

    "github.com/wellington/go-libsass"
)

func main() {
    // 指定输入
    input, _ := os.Open("style.scss")
    defer input.Close()

    // 指定输出
    output, _ := os.Create("out.css")
    defer output.Close()

    // 处理
    comp, _ := libsass.New(output, input)

    // 设置选项
    comp.Option(libsass.OutputStyle(libsass.EXPANDED_STYLE))

    // 运行处理
    comp.Run()
}

输入 style.scss

css 复制代码
div {
  p {
    color: black;
  }
}

输出 out.css

css 复制代码
div p {
  color: black;
}
相关推荐
Wang's Blog12 小时前
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
开发语言·分布式·golang
TDengine (老段)12 小时前
TDengine Go 与 Rust 连接器 — 高性能异步访问
大数据·数据库·物联网·golang·rust·时序数据库·tdengine
布兰妮甜15 小时前
CSS 现代布局终极方案:Grid 完整实战,替代浮动/弹性布局复杂场景
css·grid·实战教程·浮动·web布局
魔力女仆15 小时前
【RUST AI】把 TTS 搬进浏览器:kokoroi-rs 的 WASM 实践
人工智能·rust·wasm
Wang's Blog15 小时前
Go-Zero项目开发38:深入限流器实现与应用
开发语言·golang·go-zero
xcLeigh16 小时前
Go入门:main包与main函数的特殊地位
开发语言·后端·golang
米尔的可达鸭17 小时前
UDP 通信深度实验:从 Windows FastPath 到 ICMP 端口不可达的完整排查
windows·websocket·网络协议·rust·udp·wireshark·tcpdump
jinshw18 小时前
自己实现GIS配图软件(二)
前端·后端·rust
Wang's Blog18 小时前
Go-Zero项目开发39: 熔断、限流与降级的高可用实践
开发语言·后端·golang·go-zero
FfHUCisI18 小时前
快速排序(Quick Sort)
golang