sass变量在编译成一个文件时被重写

sass变量在编译成一个文件时被重写,sass,Sass,我有一个与sass的设置,我需要一种方法来存储一个值,而不被覆盖,当我缩小我所有的css在一起 我有一个模板scss文件,它为具有类选择器的特定标记组设置样式。 然后在每个html页面上都有一个主体id选择器。每个html页面都有自己独特的scss文件。 我需要一种方法将唯一的body id选择器分配给变量,以便可以使用它将唯一的页面id附加到模板scss文件中每个类的开头。例如: 模板.scss $basePageID: ""; #{$basePageID} .myclass

我有一个与sass的设置,我需要一种方法来存储一个值,而不被覆盖,当我缩小我所有的css在一起

我有一个模板scss文件,它为具有类选择器的特定标记组设置样式。 然后在每个html页面上都有一个主体id选择器。每个html页面都有自己独特的scss文件。 我需要一种方法将唯一的body id选择器分配给变量,以便可以使用它将唯一的页面id附加到模板scss文件中每个类的开头。例如:

模板.scss

    $basePageID: "";

    #{$basePageID} .myclass{

    }
   #{$basePageID} .myclass2{

    }
现在在我的html特定的scss文件中,我有了这个设置

**homepage.scss**

    @import "template.scss";
    $basePageID: "#home";

    #{$basePageID} .myclass{

    }

**contact.scss**
    @import "template.scss";
    $basePageID: "#contact";

    #{$basePageID} .myclass{

    }

好的,希望你能看到我在这里想做什么。问题是,当我的所有css文件都缩小时,$basePageID变量将设置为最后添加的css文件。我需要一种方法,以便能够通过模板的唯一页面id为每个scss文件,即使当所有的文件被合并成一个css文件。我不知道如何在scss中做到这一点,你就不能这样做吗

template.scss:

#{$basePageID} .myclass{

}
#{$basePageID} .myclass2{

}
homepage.scss:

$basePageID: "#home";
@import "template.scss";

#{$basePageID} .myclass{

}

在我看来,这就像你在错误的时间覆盖basePageID一样。

如何缩小/组合CSS文件?