Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Twitter bootstrap 使用@use配置引导Sass变量,同时使引导成员在当前模块中可用_Twitter Bootstrap_Webpack_Sass - Fatal编程技术网

Twitter bootstrap 使用@use配置引导Sass变量,同时使引导成员在当前模块中可用

Twitter bootstrap 使用@use配置引导Sass变量,同时使引导成员在当前模块中可用,twitter-bootstrap,webpack,sass,Twitter Bootstrap,Webpack,Sass,我想使用自己的变量进行配置,然后能够在其他sass文件中导入所有引导配置的成员(并使用WebPack:export{}magic) 我通常先声明变量,然后在其中抛出一个@import“~bootstrap/scss/bootstrap”,如: $primary: #eee; $body-color: $primary; @import "~bootstrap/scss/bootstrap"; :export{ primary: $primary; body-color: $b

我想使用自己的变量进行配置,然后能够在其他sass文件中导入所有引导配置的成员(并使用WebPack
:export{}
magic)

我通常先声明变量,然后在其中抛出一个
@import“~bootstrap/scss/bootstrap”
,如:

$primary: #eee;
$body-color: $primary;
@import "~bootstrap/scss/bootstrap";
:export{ primary: $primary; body-color: $body-color;}
但作为:

Sass团队不鼓励继续使用@import规则。Sass将在未来几年内逐步淘汰它,并最终将其从语言中完全删除。更喜欢@use规则

@与()一起使用: 带有标记为
的变量!默认值
可以通过添加($variable:value)来覆盖,但是您必须在文件顶部写入
@use
指令(在声明可以配置它的任何变量之前)。我能做的最好的选择是:

@use "~bootstrap/scss/bootstrap" with (primary: #eee, body-color: #eee);
:export{ primary: bootstrap.$primary; body-color: bootstrap.$body-color;}
非常简单但是我不能在配置的变量之间共享值,并且引导程序的成员不能从文件中导出!(我不希望为多个变量声明
#eee
,而是希望它们共享一个包含此值的变量)

加载css($url,$with): 另一种方法是使用sass的metamixin,它允许您加载和配置模块,而不受限制在文件顶部执行。(并且能够在此之前声明变量)但这是以不加载任何已加载模块的成员为代价的:

这不会使加载模块中的任何成员在当前模块中可用

用混合器 使用mixin更彻底地配置导入的模块,我无法真正理解如何通过阅读他们的示例来实现这一点,也许这是一个可行的解决方案

问题: 那么,我如何配置带有共享覆盖变量的引导Sass文件(在加载配置中,从模块导出并通过Webpack导出)?这是可能的吗