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;
}
相关推荐
Easonmax3 小时前
用 Rust 打造可复现的 ASCII 艺术渲染器:从像素到字符的完整工程实践
开发语言·后端·rust
百锦再3 小时前
选择Rust的理由:从内存管理到抛弃抽象
android·java·开发语言·后端·python·rust·go
小羊失眠啦.3 小时前
深入解析Rust的所有权系统:告别空指针和数据竞争
开发语言·后端·rust
受之以蒙4 小时前
Rust ndarray 高性能计算:从元素操作到矩阵运算的优化实践
人工智能·笔记·rust
非专业程序员4 小时前
Rust RefCell 多线程读为什么也panic了?
rust·swift
一个打工仔的笔记4 小时前
使用css实现打开抽屉效果(css过渡动画)
css
小羊失眠啦.5 小时前
用 Rust 实现高性能并发下载器:从原理到实战
开发语言·后端·rust
fruge6 小时前
设计稿还原技巧:解决间距、阴影、字体适配的细节问题
前端·css
kuilaurence6 小时前
CSS `border-image` 给文字加可拉伸边框
前端·css
凯子坚持 c6 小时前
从 API 到应用:用 Rust 和 SQLx 为 Axum 服务添加持久化数据库
数据库·oracle·rust