使用Sass迁移工具转换Jekyll主题@import规则时遇语法错误求助
解决Jekyll中Sass迁移工具报错“Expected "{"”的问题
问题根源
你的样式表开头的---\n---是Jekyll专属的YAML前置代码块,Sass迁移工具(sass-migrator)无法识别该语法,会将其视为无效的Sass代码,进而在解析后续的@import/@use规则时抛出语法错误。
解决步骤
临时移除YAML前置代码块
打开css/style.scss,删除开头的:--- ---保存文件。
执行迁移命令
重新运行迁移工具命令:sass-migrator module --migrate-deps css/style.scss恢复YAML前置代码块
迁移完成后,将---\n---重新添加到style.scss的开头,确保Jekyll能正常识别并处理该样式文件。
手动替换@import为@use的注意事项
如果选择手动修改,除了先移除YAML块之外,还要注意Sass的@use规则路径写法:
- 同目录下的下划线开头的局部文件(如
_reset.scss),使用@use "reset";即可,无需带下划线和.scss后缀,Sass会自动匹配对应的局部文件。 - 修改完成后同样要恢复YAML前置代码块。
验证
完成上述操作后,启动Jekyll服务,检查是否还存在Sass弃用警告,同时确认网站样式正常加载。
内容的提问来源于stack exchange,提问作者user29961974
相关产品推荐
相关产品推荐

