Angular中使用LESS媒体查询范围语法编译报错求助
解决Angular+LESS中@media范围语法编译报错问题
针对你遇到的@media screen and (width > 100px)编译报错“Missing closing ')'”问题,给出以下解决建议:
改用传统媒体查询写法(最快兼容方案)
LESS对CSS新范围语法的解析可能存在兼容性问题,先替换为所有预处理器都支持的传统写法:@media screen and (min-width: 100px) { .your-class { // 样式内容 } }验证LESS语法细节
尝试去掉范围符号前后的空格,写成紧凑格式测试:@media screen and (width>100px) { // 样式内容 }清理Angular构建缓存
运行以下命令清理缓存后重新构建:ng cache clean ng build升级相关依赖
尝试升级LESS到最新稳定版,确保与Angular版本兼容:npm update less --save-dev若仍有问题,可升级Angular CLI到同大版本的最新版:
npm update @angular/cli@16 --save-dev检查Angular配置
打开angular.json,在对应项目的build.options中添加LESS配置项,确保解析器宽松处理新语法:"build": { "options": { "lessOptions": { "strictUnits": false } } }
内容的提问来源于stack exchange,提问作者neal_m
相关产品推荐
相关产品推荐

