更新 Angular 7 到 8 后导入路径丢失。

4

我有一个名为"styles.scss"的文件,以这种方式编写,在Angular 7版本中正常工作:

/* You can add global styles to this file, and also import other style files */
@import "~ng-pick-datetime/assets/style/picker.min.css";

 @import "~materialize-css/sass/components/_color.scss";
@import './colors';

$roboto-font-path: "~materialize-css/dist/fonts/roboto/";
@import "~materialize-css/sass/materialize";

/* isso aqui serve para o datepicker funcionar com modal do materialize ou mesmo bootstrap*/
.cdk-overlay-container {
    position: fixed;
    z-index: 1090;
  }

更新到版本8后,Angular找不到正确的路径,我收到以下错误信息:

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

 @import "~materialize-css/sass/components/_color.scss";
        ^
      Can't find stylesheet to import.
  ╷
4@import "~materialize-css/sass/components/_color.scss";
  │          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  ╵
  stdin 4:10  root stylesheet
      in D:\angular_projects\inteligencia-web\src\styles.scss (line 4, column 10)

我发现 Angular 不理解指向 node_modules 文件夹的这个路径。我需要做出什么改变?

2个回答

1
问题在于其中一种版本使用的是常规的sass实现,而不再是我们所熟悉的node-sass。您可以在此处了解更多信息:https://github.com/wallabyjs/public/issues/2101。 为了使其正常工作,您可以回到node-sass。
npm install node-sass --save-dev

-2
请确保如果您的应用程序使用了Angular Material,您需要遵循以下命令:
$ ng update @angular/material.

如果它不起作用,那么你能否分享一下你升级的步骤?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接