我有一个入口文件:
@use '_mixins';
@use '_default';
Run Code Online (Sandbox Code Playgroud)
现在,当我在其中使用 mixin 时,default.scss会抛出错误:
Dart Sass 失败并出现以下错误:错误:未定义的 mixin。
由于@use受到鼓励,我不明白为什么这不起作用。如果我@import像以前那样写,效果会很好:
@import '_mixins';
@import '_default';
Run Code Online (Sandbox Code Playgroud)
这样一切都美好而花花公子。
我怎样才能使用@use并仍然拥有一切可用的东西?
Bre*_*ber 12
这可能是因为新规则的使用@use会对您构建项目结构的方式产生很大影响。使用 会@use极大地改变它:
@import添加文件后,mixins/vars/modules 就可以在稍后加载的每个 sass 文件中使用。
您必须@use直接在要使用它的文件中加载您需要的特殊 sass 文件(即“_mixins”)...而不是主文件。(是的:将 mixins/functions/variables-files 加载到您想要使用它们的每个部分文件中是编写 sass 的新预期方法。
还有一点关于您的使用@use:如果您加载,则@use 'mixins必须在单独的名称空间中调用文件中的 mixin @include mixins.yourMixinYouCall。如果你想加载 mixin 而不需要单独的命名空间,你可以这样做@use 'mixins' as *:
更改为单独的命名空间有一些优点。但事实上,这是一个非常大的影响,也是一个关于构建 sass 文件的新方法的非常难讨论的主题。
我们这周有这个,在发布两次之前你可以看看这个帖子:
| 归档时间: |
|
| 查看次数: |
9538 次 |
| 最近记录: |