Global SCSS 在 React (Gatsby) 中使用 CSS 模块
Global SCSS using CSS Modules in React (Gatsby)
我正在尝试在使用 CSS 模块的 Gatsby 项目中使用一些 SCSS variables/fonts。目前我的项目结构如下所示:
来源
├── 组件
├── 页脚
├── footer.module.scss
├── index.js
├── 表头
├── header.module.scss
├── index.js
├── Layout.js
├── layout.module.scss
├── 页数
├── index.js
├── 款式
├── _typography.module.scss
├── _variables.module.scss
Gatsby's docs 建议将全局样式放入布局组件(包含页眉和页脚),然后将其包裹在所有其他组件周围。这适用于 layout.module.scss
文件中包含的样式,但如果我将 _variables.module.scss
导入此文件,则我无法使用其他 SCSS 文件中的变量(例如 header.module.scss
).
构建我的应用程序以便我可以在我的模块中访问全局 variables/fonts 的最佳方式是什么?是否只需要在需要时将部分文件导入所有单独的模块?
谢谢!
您有多种方法。我认为最好和最直接的方法是在需要时将部分文件(变量、函数、混合等)导入到每个单独的模块中,因为它是该特定文件的依赖项(它具有结构意义)。
如果您的系统和模块结构正确,webpack 将 tree shake 您的 SCSS 模块并删除死代码,因此您无需担心导入相同的文件(假设 _variables.module.scss
) 进入每个特定模块。
我正在尝试在使用 CSS 模块的 Gatsby 项目中使用一些 SCSS variables/fonts。目前我的项目结构如下所示:
来源
├── 组件
├── 页脚
├── footer.module.scss
├── index.js
├── 表头
├── header.module.scss
├── index.js
├── Layout.js
├── layout.module.scss
├── 页数
├── index.js
├── 款式
├── _typography.module.scss
├── _variables.module.scss
Gatsby's docs 建议将全局样式放入布局组件(包含页眉和页脚),然后将其包裹在所有其他组件周围。这适用于 layout.module.scss
文件中包含的样式,但如果我将 _variables.module.scss
导入此文件,则我无法使用其他 SCSS 文件中的变量(例如 header.module.scss
).
构建我的应用程序以便我可以在我的模块中访问全局 variables/fonts 的最佳方式是什么?是否只需要在需要时将部分文件导入所有单独的模块?
谢谢!
您有多种方法。我认为最好和最直接的方法是在需要时将部分文件(变量、函数、混合等)导入到每个单独的模块中,因为它是该特定文件的依赖项(它具有结构意义)。
如果您的系统和模块结构正确,webpack 将 tree shake 您的 SCSS 模块并删除死代码,因此您无需担心导入相同的文件(假设 _variables.module.scss
) 进入每个特定模块。