【问题标题】:Angular upgrade own library from 12 to 13 scss Error 'SassError: Can't find stylesheet to import.'Angular 将自己的库从 12 升级到 13 scss 错误“SassError:找不到要导入的样式表。”
【发布时间】:2022-03-01 22:06:08
【问题描述】:

我正在尝试将我的 Angular 项目从 12 升级到 13,但遇到了一个我工作两天后无法解决的问题。

我的应用程序是默认的 Angular Material 应用程序,具有一些功能,例如购物清单应用程序。

要插入项目,我使用带有一些可以提交的字段的公式。 (MatDialog) 我已将此公式外包到我自己的 Angular 库中,以使其更加通用和可重用。

现在,在升级库项目并尝试将生成的构建(来自新 Ivy)链接到我的应用程序后,我收到了错误:

SassError: Can't find stylesheet to import.

@import '@my/form-lib/theme';

意味着未知的样式表来自库,并提供对该库的默认主题访问,但我无法确定为什么会发生这种情况。 我也认识到,Angular Material 现在不再需要波浪号了。

@use '**~**@angular/material' as mat;

我已尝试删除所有波浪号〜但错误仍然存​​在。

我还尝试将 @angluar/cli 重置为 13.0.0,这被描述为解决方案 here
但这对我不起作用。

有人知道可以尝试的解决方案吗?

【问题讨论】:

  • 您提到@use,但您使用@import?试试改成@use
  • 我应该在导入组件库的主题时使用@use 吗?
  • @MathewBerg 我试过了,但出现了同样的错误@use '@my/form-lib/theme as form-lib; '
  • @use '@my/form-lib/theme 也许?
  • @my/form-lib/theme 来自哪里,在你的项目中吗?如果在angular.json -> stylePreprocessorOptions.includePaths 中包含@my 的路径会怎样?

标签: angular typescript sass angular-material angular13


【解决方案1】:

唯一为我解决了它的问题

@import '@my/lib/scss-file';

@import 'node_modules/@my/lib/scss-file';

【讨论】:

  • 同样适用于我,但为什么会这样?
  • 我认为这与webpack.config.js中的设置publicPath: "auto"有关,但我不是100%确定
猜你喜欢
  • 2021-12-17
  • 2022-08-04
  • 2021-08-11
  • 1970-01-01
  • 2022-07-08
  • 2018-12-10
  • 2020-11-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多