多个 "themes" 和 SASS 个模块
Multiple "themes" with SASS Modules
项目描述
所以我有一个项目在一个应用程序中有两个不同的品牌。我有一组基本的组件样式,然后我有两个不同的入口点 Scss 文件:
品牌 1
brand1-index.scss
- @import brand1-settings-vars.scss
- @import base-styles-index.scss
- @import brand1-specific-styles.scss
品牌 2
brand2-index.scss
- @import brand2-settings-vars.scss
- @import base-styles-index.scss
- @import brand2-specific-styles.scss
基本样式
base-styles-index.scss
- @import lots-of-small-scss-files.scss
- @import ... etc.
您可能会猜到,因为它是旧 sass 系统中的一种模式,所以每个品牌的颜色、字体和其他变量都被命名为相同的,然后在基本样式中使用。一共有15个变量。
我在找什么
我正在尝试更新它以使用更新的基于模块的系统,但我没有看到任何简单的更新方法。我想避免为我的每个 lots-of-small-scss-files.scss
编写 with
语句,因为那将是一场噩梦,因为我必须在每个文件中使用 [=17= 声明每个 var ] 以便能够将它们传递下去。
我会喜欢的是,如果有一种方法可以在我的基础中创建一个变量文件,然后由我的品牌变量重载,然后我就 @use
该文件在我的基地内,但我没有看到这样做的方法。
我一定不是在谷歌上搜索正确的东西,因为我确定有人需要这样做,但我找不到任何相关信息。
建议?
所以我在“我会喜欢什么”之后所描述的结果是完全可能的。您不需要显式分配变量,只需在基本样式的设置文件中使用 @forward
而不是 @use
。
基础文件
品牌索引文件
项目描述
所以我有一个项目在一个应用程序中有两个不同的品牌。我有一组基本的组件样式,然后我有两个不同的入口点 Scss 文件:
品牌 1
brand1-index.scss
- @import brand1-settings-vars.scss
- @import base-styles-index.scss
- @import brand1-specific-styles.scss
品牌 2
brand2-index.scss
- @import brand2-settings-vars.scss
- @import base-styles-index.scss
- @import brand2-specific-styles.scss
基本样式
base-styles-index.scss
- @import lots-of-small-scss-files.scss
- @import ... etc.
您可能会猜到,因为它是旧 sass 系统中的一种模式,所以每个品牌的颜色、字体和其他变量都被命名为相同的,然后在基本样式中使用。一共有15个变量。
我在找什么
我正在尝试更新它以使用更新的基于模块的系统,但我没有看到任何简单的更新方法。我想避免为我的每个 lots-of-small-scss-files.scss
编写 with
语句,因为那将是一场噩梦,因为我必须在每个文件中使用 [=17= 声明每个 var ] 以便能够将它们传递下去。
我会喜欢的是,如果有一种方法可以在我的基础中创建一个变量文件,然后由我的品牌变量重载,然后我就 @use
该文件在我的基地内,但我没有看到这样做的方法。
我一定不是在谷歌上搜索正确的东西,因为我确定有人需要这样做,但我找不到任何相关信息。
建议?
所以我在“我会喜欢什么”之后所描述的结果是完全可能的。您不需要显式分配变量,只需在基本样式的设置文件中使用 @forward
而不是 @use
。