如何防止变量在导入到sass中的另一个部分之前进行编译?

问题描述 投票:0回答:1

此问题似乎是一个有点棘手的问题,但就我而言,这将是factorize我的代码的好方法。

我希望我的代码在某些主题(例如page1.sass,page2.sass)中脱离部分_global.sass,仅在主题的开头重新定义变量,而不是直接在代码中重新定义。这样,我只会在最终sass文件的开头重新影响变量,而不必每次在每个页面上都要更改代码时都更改代码。

为此,我认为我必须找到一种方法来防止_global.sass编译其变量,以便我可以在pageX.sass文件中重新定义它们并最终对其进行编译。

在部分_variables.sass文件中]

$bg-color-page1: black
$bg-color-page2: red
$bg-color-page3: blue
$bg-color-page4: yellow
// etc.
$bg-color-page-global: grey /* you're obliged to affect a value when you declare a variable

在部分_global.sass fil中

@import variables

body
    background-color: $bg-color-page-global

在最终的sass文件,例如pageX或page1.sass中

@import variables
@import global

$bg-color-page-global: $bg-color-page1

body
    background-color: $bg-color-page-global

使用此代码,在使用pageX.cass文件的每个页面上背景都是灰色的,因为_global.sass的代码是在将其导入pageX.sass之前编译的。我希望它适应,page1.sass为黑色背景,page2.sass为红色,等等。

您现在是否可以在部分导入另一个sass文件之前防止编译变量?

感谢您的宝贵帮助。

这个问题似乎有点棘手,但就我而言,这将是分解我的代码的好方法。我希望我的代码在某些主题(例如page1.sass,page2 ....)中脱离部分_global.sass的代码。

css import sass partials
1个回答
0
投票

使用sass默认键并与@use@forward一起使用,不推荐使用@import

© www.soinside.com 2019 - 2024. All rights reserved.