You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用godartsass/v2编译缩进式Sass时始终报unexpected EOF错误

解决github.com/bep/godartsass/v2编译缩进式Sass时的unexpected EOF错误

核心问题:参数传错导致解析异常

你的代码直接将文件路径传给了Args.Source字段,但该字段的作用是传入Sass代码字符串,而非文件路径。dart-sass会把路径字符串当作Sass代码解析,因此必然抛出unexpected EOF错误。

修复方案

1. 使用SourcePath指定文件路径

将Source替换为SourcePath,让库直接读取目标文件内容:

_, err = sassTranspiler.Execute(godartsass.Args{
    SourcePath:      path, // 替换原Source字段为SourcePath
    OutputStyle:     godartsass.OutputStyleCompressed,
    SourceSyntax:    godartsass.SourceSyntaxSASS,
    EnableSourceMap: true,
})

2. 手动读取文件内容传入Source(可选)

如果需要先预处理文件内容再编译,可手动读取文件后传入Source:

sassContent, err := os.ReadFile(path)
if err != nil {
    return err
}

_, err = sassTranspiler.Execute(godartsass.Args{
    Source:          string(sassContent),
    OutputStyle:     godartsass.OutputStyleCompressed,
    SourceSyntax:    godartsass.SourceSyntaxSASS,
    EnableSourceMap: true,
    SourcePath:      path, // 可选:指定源文件路径用于生成sourcemap
})

3. 补充:检查Transpiler初始化配置

若系统未全局安装dart-sass,初始化时需指定二进制文件路径:

sassTranspiler, err = godartsass.Start(godartsass.Options{
    DartSassPath: "path/to/dart-sass", // 替换为实际的dart-sass二进制文件路径
})

验证要点

  • 修复参数后,确认.sass文件的缩进式语法无明显错误
  • 确保filepath.Walk能正确遍历到目标.sass文件

内容的提问来源于stack exchange,提问作者Ryan Prentiss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:18:31