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

M1芯片设备运行stencil start报CSS主引擎编译错误,同项目其他设备正常

故障根因

你遇到的报错是M1芯片Mac设备上Stencil CLI依赖的Sass编译引擎版本差异导致的:

  • 旧Intel架构设备上的Stencil CLI默认使用低版本node-sass/低版本dart-sass作为编译引擎,该版本对顶层使用&父选择器的写法容错度较高,不会抛出语法错误
  • 新M1芯片设备安装Stencil CLI时会自动拉取适配ARM架构的高版本dart-sass作为主编译引擎,该版本严格禁止顶层使用&选择器,因此会触发编译校验失败,回退到备用引擎的过程就会导致项目随机重载。
解决方案

你可以任选以下一种方法解决问题:

  • 修复代码语法问题:打开dh-custom/dh-global.scss文件,找到第36行的&::placeholder代码,将其嵌套到对应的父选择器内部即可。如果是需要给全局元素设置占位符样式,可以用通配符嵌套:
* {
  &::placeholder {
    // 保留原有的样式逻辑即可
  }
}
  • 强制使用旧版编译引擎:无需修改业务代码,在项目的Stencil配置文件中指定Sass编译工具为node-sass,同时给项目安装适配当前Node版本的node-sass依赖即可。
  • M1设备适配补充:若安装node-sass时出现编译失败,可通过Rosetta打开终端后再执行安装命令,或直接安装适配ARM架构的node-sass版本。

内容的提问来源于stack exchange,提问作者T-McVee

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 20:06:02