uni-app 升级 cli 2.0.0-31920210709003 运行报错 Syntax Error SassError expected selector
uni-app 升级 cli 2.0.0-31920210709003 运行报错 Syntax Error SassError expected selector
| 项目属性 | 信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | win11 |
| 手机系统 | Android |
| 手机系统版本号 | Android 11 |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | CLI |
| CLI版本号 | ^2.0.0-31920210709003 |
bug描述:
- 跟什么渠道发行方式没关系,全端运行报错。
- Syntax Error: SassError: expected selector. ╷ 94 │ /deep/ .rich-text{ │ ^ ╵ src\pages\member\balance\detail.vue 94:1 root stylesheet
- 深度选择器替换为 ::v-deep 时不报错。
- hx 最新版不报错。
操作步骤:
预期结果:
实际结果:
更多关于uni-app 升级 cli 2.0.0-31920210709003 运行报错 Syntax Error SassError expected selector的实战教程也可以访问 https://www.itying.com/category-93-b0.html
4 回复
我也遇到了
更多关于uni-app 升级 cli 2.0.0-31920210709003 运行报错 Syntax Error SassError expected selector的实战教程也可以访问 https://www.itying.com/category-93-b0.html
最新版本的sass-loader的问题,全部替换成 ::v-deep 就可以了,这也是 vue 官方目前推荐的写法
回复 enderX: 好的,谢谢,看你的帖子已经改了
这个错误是由于Sass/SCSS语法规范变更导致的。在较新的Sass版本中,/deep/选择器已被废弃,不再被支持。
问题分析:
- CLI版本
2.0.0-31920210709003更新了Sass编译器,对语法检查更加严格 /deep/是Vue 2.x中样式穿透的旧写法,现已被::v-deep替代- HBuilderX最新版可能使用了不同的Sass编译器或兼容性配置
解决方案:
-
推荐方案:将所有
/deep/替换为::v-deep::v-deep .rich-text { /* 样式规则 */ } -
临时方案:如果项目中有大量
/deep/需要逐步迁移,可以在vue.config.js中配置:module.exports = { css: { loaderOptions: { sass: { sassOptions: { // 禁用严格模式(不推荐长期使用) quietDeps: true } } } } }

