8

我最近将我的项目从 Angular 版本 7 升级到了 8。但是当我发出命令npm start时,我看到很多类似以下与Bootstrap.

WARNING: You probably don't mean to use the color value gray in interpolation here.
It may end up represented as gray, which will likely produce invalid CSS.
Always quote color names when using them as strings or map keys (for example, "gray").
If you really want to use the color value here, use '"" + $color'.

   ╷
48 │   .alert-#{$color} {
   │            ^^^^^^
   ╵
    node_modules/bootstrap/scss/_alert.scss 48:12  @import
    src/scss/bootstrap.scss 46:9                   @import
    src/scss/theme/application.scss 18:9           @import
    stdin 1:9                                      root stylesheet

在此之后,编译失败并出现以下错误消息

ERROR in ./src/scss/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--13-3!./src/scss/styles.scss)
Module build failed (from ./node_modules/sass-loader/lib/loader.js):

    @extend .input-no-border:focus;
           ^
      Compound selectors may no longer be extended.
Consider `@extend .input-no-border, :focus` instead.
See https://sass-lang.com/documentation#extending_compound_selectors for details.

    ╷
209 │     @extend .input-no-border:focus;
    │             ^^^^^^^^^^^^^^^^^^^^^^
    ╵
  src/scss/theme/_utils.scss 209:13  root stylesheet
      in /src/scss/theme/_utils.scss (line 209, column 13)
4

2 回答 2

8

尝试这个:-

npm rebuild node-sass
于 2019-06-15T08:41:06.327 回答
2

没有必要使用 node-sass。这个问题通常是你的 sass 变量有问题,如下所示:

$theme-color: (
  primary: #ababab,
  secondary: #gegege,
)

将引号添加到密钥将解决问题

$theme-color: (
  'primary': #ababab,
  'secondary': #gegege,
)
于 2021-02-22T18:45:32.403 回答