Create React App 添加 Sass 样式表

注意:此功能适用于 react-scripts@2.0.0 及更高版本。

通常,我们建议你不要在不同的组件中重用相同的 CSS 类。 例如,我们建议不要在 <AcceptButton><RejectButton> 组件中使用同一个 .Button CSS 类,而是使用自己的 .Button 样式创建一个 <Button> 组件,<AcceptButton><RejectButton>都可以渲染(但 不是继承)。

遵循这个规则通常会使 CSS 预处理器变得不那么有用,因为 mixins 和嵌套等功能会被组件组合所取代。 但是,如果你觉得 CSS 预处理程序有价值,你可以集成它。

要使用Sass,首先安装 node-sass

- --- ------- --------- ------
- - --
- ---- --- ---------

现在你可以将 src/App.css 重命名为 src/App.scss 并更新 src/App.js 以导入 src/App.scss 。 此文件和任何其他文件将会自动编译,如果使用扩展名 .scss.sass 导入的话。

要在 Sass 文件之间共享变量,可以使用 Sass 导入。 例如,src/App.scss 和其他组件样式文件可能包含 @import "./shared.scss"; 中定义的变量。

允许你像这样导入

------- ---------------------- -- -- ------ -- - ---- ---
------- ----------------------- -- - --------- -------- -- --- --

注意: 你必须在 node_modules 之前添加 ~ 前缀,如上所示。

node-sass 还支持 SASS_PATH 变量。

要使用你指定的相对路径导入,并且在不添加 ~ 前缀的情况下从 node_modules 使用导入,可以在项目根目录中使用变量 SASS_PATH=node_modules:src 添加 .env 文件。 要指定更多目录,可以将它们添加到 SASS_PATH ,用 : 分隔,例如 path1:path2:path3

如果你设置 SASS_PATH=node_modules:src ,这将允许像这样导入

------- ---------------- ---- ---- -- ------ ----- ------------ --- 
------- ---------------------- -- -- - --------- -------- -- --- --

提示: 你也可以选择将此功能与 CSS modules 配合使用!

注意: 如果你正在使用Flow,请覆盖 .flowconfig 中的 module.file_ext 设置,以便它识别 .sass.scss 文件。 你还需要包含 .js.jsx.mjs.json文件的 module.file_ext 默认设置。

---------
-------------------
--------------------
--------------------
---------------------
---------------------
---------------------

上一篇:添加 CSS Modules
下一篇:PostCSS(后处理 CSS)