【问题标题】:There is no module with the namespace "math" Angular 6没有名称空间“数学”Angular 6的模块
【发布时间】:2026-01-08 23:20:05
【问题描述】:

起初,我收到了一些警告,例如:

DEPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.

Recommendation: math.div($scrollview-pager-item-spacing, 4)

More info and automated migrator: https://sass-lang.com/d/slash-div

    ╷
144 │             bottom: ($scrollview-pager-offset - ($scrollview-pager-item-spacing / 4));
    │                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ╵
    node_modules\@progress\kendo-theme-default\scss\scrollview\_layout.scss 144:50      @content
    node_modules\@progress\kendo-theme-default\scss\mixins\core\_import-once.scss 12:9  exports()
    node_modules\@progress\kendo-theme-default\scss\scrollview\_layout.scss 4:1         @import
    node_modules\@progress\kendo-theme-default\scss\scrollview.scss 11:9                @import
    node_modules\@progress\kendo-theme-default\scss\all.scss 16:9                       @import
    stdin 3:9                                                                           root stylesheet

Recommendation: math.div($num, ch-pow($x, $n - 1))

More info and automated migrator: https://sass-lang.com/d/slash-div

   ╷
51 │         $x: math.div(1, $n) * (($n - 1) * $x + ($num / ch-pow($x, $n - 1)));
   │                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
   ╵
    node_modules\@progress\kendo-theme-default\scss\mixins\vendor\color-helpers\_math.scss 51:49      ch-nth-root()
    node_modules\@progress\kendo-theme-default\scss\mixins\vendor\color-helpers\_math.scss 29:17      ch-pow()
    node_modules\@progress\kendo-theme-default\scss\mixins\vendor\color-helpers\_contrast.scss 16:56  ch-color-luminance()
    node_modules\@progress\kendo-theme-default\scss\mixins\_colors.scss 91:12                         contrast-wcag()
    node_modules\@progress\kendo-theme-default\scss\_variables.scss 210:19                            @import
    node_modules\@progress\kendo-theme-default\scss\all.scss 1:9                                      @import
    stdin 3:9                                                                                         root stylesheet

然后我打开文件并按照建议进行修复。另外,正如SassError: There is no module with the namespace "math" 中所建议的,我安装了:

npm install -g sass-migrator
npm i sass-migrator

但现在我收到了这些错误:

ERROR in ./src/styles.scss (./node_modules/@angular-devkit/build-angular/src/angular-cli-files/plugins/raw-css-loader.js!./node_modules/postcss-loader/src??embedded!./node_modules/sass-loader/lib/loader.js??ref--14-3!./src/styles.scss)
Module build failed (from ./node_modules/sass-loader/lib/loader.js):

undefined
                                               ^
      There is no module with the namespace "math".
    ╷
140 │             bottom: ($scrollview-pager-offset - math.div($scrollview-pager-item-spacing, 4));
    │                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ╵
  node_modules\@progress\kendo-theme-default\scss\scrollview\_layout.scss 140:49      @content
  node_modules\@progress\kendo-theme-default\scss\mixins\core\_import-once.scss 12:9  exports()
  node_modules\@progress\kendo-theme-default\scss\scrollview\_layout.scss 4:1         @import
  node_modules\@progress\kendo-theme-default\scss\scrollview.scss 11:9                @import
  node_modules\@progress\kendo-theme-default\scss\all.scss 16:9                       @import
  stdin 3:9                                                                           root stylesheet
      in C:\project path..\..\node_modules\@progress\kendo-theme-default\scss\scrollview\_layout.scss (line 140, column 49)

在 package.json 我有:

  "node-sass": "^4.9.4",
  "sass": "^1.41.0",

请建议如何修复错误

【问题讨论】:

    标签: angular node-sass


    【解决方案1】:

    您不需要安装任何库。但是,@use 'sass:math' 对我不起作用。我不得不把它改成@use 'sass:math' as math;

    【讨论】:

      【解决方案2】:

      你不需要安装node-sasssass有角度依赖,你应该使用:

      @use 'sass:math';
      

      在文件顶部清除警告。

      【讨论】:

        最近更新 更多