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

Angular 6出现There is no module with the namespace "math"报错如何解决

解决方案

  • 首先卸载冲突的node-sass依赖:node-sass是已废弃的LibSass封装,不支持Sass内置的math模块,且优先级高于你安装的dart-sass(也就是package.json里的sass依赖),直接执行卸载命令即可:
npm uninstall node-sass
# 用yarn的话执行 yarn remove node-sass
  • 清理项目缓存并重装依赖:避免旧依赖残留导致构建工具仍然调用已卸载的node-sass:
rm -rf node_modules package-lock.json
# 用yarn的话把package-lock.json换成yarn.lock
npm install
  • 处理math模块导入问题:
    1. 如果你是手动修改了业务代码里的除法为math.div,需要在对应scss文件的最顶部添加导入语句:@use "sass:math";
    2. 如果你是修改了node_modules里的kendo主题源码,不建议直接修改第三方依赖文件,优先升级@progress/kendo-theme-default到已修复该除法警告的最新稳定版本即可。如果暂时无法升级主题,可以执行sass-migrator的模块迁移命令自动给所有依赖的scss文件补全math模块导入:
    sass-migrator module --migrate-deps ./src/styles.scss
    
  • 临时规避方案:如果不想做上述改动,可以把所有$a / $b的写法替换为$a * (1 / $b),该写法兼容新旧版本Sass,不会触发废弃警告也不需要导入math模块。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 20:30:02