在我的 style.scss
我正在使用以下方法加载 scss 文件:
@use "bootstrap/functions";
稍后在 style.scss
我加载了另一个名为 _variables.scss
的 scss 文件.在这个文件中,我还想使用函数文件,例如:$link-color: functions.theme-color("primary") !default;
@include functions.assert-ascending($grid-breakpoints, "$grid-breakpoints");
问题是我收到以下错误:SassError: Module loop: this module is already being loaded.
┌──> src/assets/scss/bootstrap/_variables.scss
4 │ @forward "functions";
│ ^^^^^^^^^^^^^^^^^^^^ new load
╵
┌──> src/assets/scss/style.scss
22 │ @use "bootstrap/functions";
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━ original load
╵
我尝试用 @use
加载它和 @forward
,我也尝试不加载它以查看它是否可以在当前上下文中找到它,但没有任何效果。我究竟做错了什么?我正在使用带有
sass-loader
的 Webpack使用 dart-sass
.
最佳答案
由于@import
,我目前遇到了同样的问题于 2022 年 10 月折旧。
这是因为您正在有效地将 Bootstrap /函数加载到您的 style.scss
中。两次,一次作为自身,一次在 _variables.scss
内.
因为@use
不是全局的,例如 @import
是,它似乎自动拒绝任何重复,抛出错误而不是忽略重复。
关于javascript - Sass:使用@use 和@forward 时的模块循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64741669/