当前位置:Gxlcms > JavaScript > 在Create React App中启用Sass和Less的方法示例

在Create React App中启用Sass和Less的方法示例

时间:2021-07-01 10:21:17 帮助过:12人阅读

关于创建 create-react-app 项目请查看:create-react-app 的安装与创建 。

关于在 less 和 sass 如何在 create-react-app 启用 CSS Modules,请查看我的上一篇文章: 在 Create React App 中使用 CSS Modules 。

启用 Sass 语法编写 CSS

create-react-app 脚手架中已经添加了 sass-loader 的支持,所以只需要安装 node-sass 插件即可

安装 node-sass 插件

  1. $ npm install node-sass --save
  2. # 或者
  3. # $ yarn add node-sass

用法:

编写 sass 文件:App.scss

  1. .App {
  2. text-align: center;
  3. &-logo {
  4. animation: App-logo-spin infinite 20s linear;
  5. height: 40vmin;
  6. }
  7. }

在 js 文件中直接使用:改写 App.js 文件

  1. import React, { Component } from 'react';
  2. import logo from './logo.svg';
  3. import './App.scss';
  4. class App extends Component {
  5. render() {
  6. return (
  7. <div className="App">
  8. <header className="App-header">
  9. <img src={logo} className="App-logo" alt="logo" />
  10. </header>
  11. </div>
  12. );
  13. }
  14. }
  15. export default App;

在浏览器中查看效果

运行项目,此时在浏览器中即可查看到 logo 图片在缓慢转动。

启用 Less 语法编写 CSS

由于 create-react-app 脚手架中并没有配置关于 less 文件的解析,所以我们需要自己进行配置。需要安装的插件 less , less-loader 。

添加 Less 相关配置

在命令行运行 npm run eject 命令

此命令会将脚手架中隐藏的配置都展示出来,此过程不可逆

运行完成之后,打开 config 目录下的 webpack.config.js 文件,找到 // style files regexes 注释位置,仿照其解析 sass 的规则,在下面添加两行代码

  1. // 添加 less 解析规则
  2. const lessRegex = /\.less$/;
  3. const lessModuleRegex = /\.module\.less$/;

找到 rules 属性配置,在其中添加 less 解析配置

  1. // Less 解析配置
  2. {
  3. test: lessRegex,
  4. exclude: lessModuleRegex,
  5. use: getStyleLoaders(
  6. {
  7. importLoaders: 2,
  8. sourceMap: isEnvProduction && shouldUseSourceMap,
  9. },
  10. 'less-loader'
  11. ),
  12. sideEffects: true,
  13. },
  14. {
  15. test: lessModuleRegex,
  16. use: getStyleLoaders(
  17. {
  18. importLoaders: 2,
  19. sourceMap: isEnvProduction && shouldUseSourceMap,
  20. modules: true,
  21. getLocalIdent: getCSSModuleLocalIdent,
  22. },
  23. 'less-loader'
  24. )
  25. }

此时配置完成,安装 less 和 less-loader 插件即可

  1. $ npm install less less-loader --save

用法

以下代码根据上面 sass 用法中的文件进行修改

编写 less 文件:App.less

  1. .App {
  2. text-align: center;
  3. &-logo {
  4. animation: App-logo-spin infinite 20s linear;
  5. height: 40vmin;
  6. }
  7. }

在 js 文件中直接使用:改写 App.js 文件

  1. import React, { Component } from 'react';
  2. import logo from './logo.svg';
  3. import './App.less';
  4. class App extends Component {
  5. render() {
  6. return (
  7. <div className="App">
  8. <header className="App-header">
  9. <img src={logo} className="App-logo" alt="logo" />
  10. </header>
  11. </div>
  12. );
  13. }
  14. }
  15. export default App;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

人气教程排行