Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sass 在角省道中导入SCSS分区_Sass_Dart_Angular Dart - Fatal编程技术网

Sass 在角省道中导入SCSS分区

Sass 在角省道中导入SCSS分区,sass,dart,angular-dart,Sass,Dart,Angular Dart,我正在建立一个项目与角省道(我的第一个严重的)。我熟悉SCS,并在其他“正常”非角度非省道相关项目中使用过它。然而,AngularDart中的SCS的行为方式与我习惯的不同,这让我有点困惑 我现在正在努力解决的问题是如何导入partials。在“普通”scss中,我会这样做来导入\u mixins.scss: @import 'mixins'; 在我的角镖项目中,我尝试过做类似的事情。我创建的mixin文件位于上一个目录,因此我尝试了以下方法: @import '../mixins'; @i

我正在建立一个项目与角省道(我的第一个严重的)。我熟悉SCS,并在其他“正常”非角度非省道相关项目中使用过它。然而,AngularDart中的SCS的行为方式与我习惯的不同,这让我有点困惑

我现在正在努力解决的问题是如何导入partials。在“普通”scss中,我会这样做来导入
\u mixins.scss

@import 'mixins';
在我的角镖项目中,我尝试过做类似的事情。我创建的mixin文件位于上一个目录,因此我尝试了以下方法:

@import '../mixins';
@import 'package:dbClient/src/components/widgets/mixins';
那没用。确切的错误消息是
错误:找不到要导入的样式表。
。所以,我在谷歌上搜索了一下,得出了以下结论:

@import '/src/components/widgets/mixins';
不走运。它告诉我,
只支持“套餐”和“资产”方案
。所以我试了一下:

@import '../mixins';
@import 'package:dbClient/src/components/widgets/mixins';
它接着告诉我
”软件包:“这个平台不支持URL。
我从未见过
资产
URL,甚至不确定它是什么,但我还是尝试了这个:

@import 'asset:dbClient/src/components/widgets/mixins';
这让我又回到了
错误:找不到要导入的样式表。

于是,我又在谷歌上搜索了一些内容,最终将我的scss部分文件从
lib/src/widgets/
移动到一个新文件夹中,我称之为
lib/assets/scss/
。但是,我似乎仍然不知道如何将其导入组件的scss文件

总之,如何创建scss部分文件并将其导入组件的scss文件?还有,你把它放在哪里

(也与此相关,但目前不太关心,您认为创建适用于所有组件的全局规则的最佳方法是什么?)


提前感谢任何能提供帮助的人

不确定您的问题是什么,但是:

在pubspec.yaml中注册Sass,就像在
开发依赖项:
中这样:

dev_依赖项:
sass_生成器:^2.1.1

然后,在.scss文件中输入以下内容:

  • @导入“包:角度组件/应用程序布局/混合”
最后,在您的组件文件中,在
@component()中添加以下内容:

styleurl:const[
'name_of_your.css',
])

这是.css而不是.scss

有关更多信息,请参阅


更新

将此行包括在主
.scss
文件中:

@import'\u partial.scss'

然后,在您的
\u partial.scss
文件中,精确
!重要信息
在需要覆盖的每个属性之后


这应该是可行的,至少,它对我来说是可以预期的。

dart sass将遵循导入的包语法和规则。分部绝对有效,您可以在这里看到:

资产语法从未真正流行起来,我认为目前大多数工具可能都不支持它。只需将资产与其他源代码一起放入库中

我不确定dart sass是否遵守src约定,即不应使用包语法导入它。这可能是问题的一部分

在哪里放置globals。我倾向于赞同这样一种观点,即您不想污染全局空间,因此需要为公共变量和混合使用公共导入,并在需要时在组件中使用这些导入。可以理解,对于一些人来说,这些可能有点重,但我从事的是非常大的项目,因此没有全局CSS来处理这些事情可以为我们节省很多麻烦。你可以在这里看到这种模式:


也就是说,另一种策略是,您可以在根html页面中链接一个常规的scss/css文件,该文件将具有适用于所有地方的通用选择器/样式。因为它在封装空间之外,所以它将应用于匹配的所有内容

实际上,我已经有了组件的主scss文件,可以正常工作了。我试图做的是导入一个scss部分,其中包含我创建的一些混合,并将其导入到该scss文件中。scss中的import语句的行为与普通scss中的不一样。看起来它应该可以正常工作。任何合乎逻辑的人都会看到这一点,并说它应该会起作用。但出于某种原因,情况并非如此。它声称它找不到该文件,即使我已四次检查文件名是否键入正确。我甚至尝试过暂时将部分文件移动到同一文件夹中,以确保问题与太多的
'../'
s无关。更新:显然文件名中的下划线阻塞了它。我删除了它,现在我可以很好地导入文件了。这对我来说似乎是个错误,但至少我知道。谢谢你抽出时间来帮助我!嗯,我想知道为什么部分语法对我不起作用。也许我得再试一次。。。谢谢你给我解释和澄清。