React:安装配置使用scss

news2024/10/7 19:24:07

目录

前言:

1.暴露隐藏的webpack配置;

2.安装sass的相关包;

3.项目中新建一些scss文件;

4.在config文件夹中找到webpack.config.js文件,进行配置;

5.测试使用;


前言:

项目采用creat-react-app脚手架初始化项目,默认采用css语法,但是在隐藏的webpack配置中是支持css,sass,scss的。

版本信息:react:18.2.0

1.暴露隐藏的webpack配置;

运行命令:npm run eject,去暴露隐藏的webpack信息

npm run eject

会在项目的根目录生成config文件夹,里面包含如下

注意事项:你可能在运行命令后,输入y,会出现如下错误

解决办法:把你git未提交的文件都给提交了,然后再重新运行此命令😂

2.安装sass的相关包;

npm install sass
npm install sass-resources-loader

由于项目默认安装了sass-loader,所以就不用再次安装了

3.项目中新建一些scss文件;

在根目录下新建variable.scss文件,用于存放项目中的scss常量

$theme-color: #3377aa;

顺便在index.scss中引入variable.scss文件

@import "./variable";

.f-40 {
  font-size: 40px;
}

4.在config文件夹中找到webpack.config.js文件,进行配置;

可以搜索关键字sassRegex,找到以下代码

            {
              test: sassRegex,
              exclude: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 3,
                  sourceMap: isEnvProduction
                    ? shouldUseSourceMap
                    : isEnvDevelopment,
                  modules: {
                    mode: 'icss',
                  },
                },
                'sass-loader'
              ),
              // Don't consider CSS imports dead code even if the
              // containing package claims to have no side effects.
              // Remove this when webpack adds a warning or an error for this.
              // See https://github.com/webpack/webpack/issues/6571
              sideEffects: true,
            },

改为如下:其实也就是从 .concat哪里开始添加的

 {
              test: sassRegex,
              exclude: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 3,
                  sourceMap: isEnvProduction
                    ? shouldUseSourceMap
                    : isEnvDevelopment,
                  modules: {
                    mode: 'icss',
                  },
                },
                'sass-loader'
              ).concat([{
                loader: "sass-resources-loader",
                options: {
                  resources:[
                      path.join(__dirname,"../src/variable.scss"),
                  ]
                }
              }]),
              // Don't consider CSS imports dead code even if the
              // containing package claims to have no side effects.
              // Remove this when webpack adds a warning or an error for this.
              // See https://github.com/webpack/webpack/issues/6571
              sideEffects: true,
            },

同样的,找到关键字sassModuleRegex,其实就在sassRegex之下

更改为:也是从contact开始添加的,于上方代码一样

            {
              test: sassModuleRegex,
              use: getStyleLoaders(
                {
                  importLoaders: 3,
                  sourceMap: isEnvProduction
                    ? shouldUseSourceMap
                    : isEnvDevelopment,
                  modules: {
                    mode: 'local',
                    getLocalIdent: getCSSModuleLocalIdent,
                  },
                },
                'sass-loader'
              ).concat([{
                  loader: 'sass-resources-loader',
                  options: {
                      resources:[
                          path.join(__dirname,"../src/variable.scss")
                      ]
                  }
              }]),
            },

此步骤就是将全局的scss常量加载到各个scss文件或者module.scss文件中

5.测试使用;

home.jsx

import styles from './home.module.scss'

function Home() {
    return (
        <div className={`${styles.home} f-40`}>Jay丶千珏</div>
    )
}

export default Home

home.module.scss

.home {
  color: $theme-color;
}

页面展示,正是想要的结果!

使用成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/194165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python之Pandas的常用技能【写入数据】

1、背景&#xff1a; 最近在工作中遇到越来越多的的使用pandas或者python来处里写入操作&#xff0c;尤其是对excel文件或者csv文件的操作更是常见&#xff0c;这里将写入操作总结如下&#xff0c;方便记忆&#xff0c;也分享给大家&#xff0c;希望对阅读者能够有所帮助 2、…

nvdiffrec:Extracting Triangular 3D Models, Materials, and Lighting From Images

论文主页 https://nvlabs.github.io/nvdiffrec/git主页 https://github.com/NVlabs/nvdiffrec新闻报道 https://redian.news/wxnews/36324YuQiao0303 读后感 https://blog.csdn.net/qq_34342853/article/details/125622816b站演示效果视频 https://www.bilibili.com/video/BV1P…

8天获offer|祝贺信息技术老师获CSC资助赴意大利访学

I老师拟申报CSC青年骨干教师项目&#xff0c;指定欧洲学校&#xff0c;且要求半个月内获得邀请函。我们8天就取得了意大利帕多瓦大学的offer&#xff0c;研究方向完全相符&#xff0c;因而顺利通过了CSC审批。后经繁琐的手续&#xff0c;I老师最终获得签证&#xff0c;如期出国…

ABB机器人设置有效载荷的2种方法具体步骤(直接输入法+自动识别推算法2)

ABB机器人设置有效载荷的2种方法具体步骤(直接输入法+自动识别推算法2) 为什么要设置有效载荷Loaddata? 对于搬运应用的机器人只有设定正确的工具和载荷数据,机器人才能正确的工作; 对于搬运比较重的产品,或工具的重量也比较重,需要设置工具及搬运对象的重心和重量; …

2023年黑马Java入门到精通教程--程序流程控制

程序流程控制 程序执行的几种常见形式 分支结构 If分支 根据判定的结果&#xff08;真或假&#xff09;决定执行某个分支的代码 If分支的作用 If分支有三种格式 switch分支 也是匹配条件去执行分支, 适合做值匹配的分支选择&#xff0c;结构清晰&#xff0c;格式良好 swit…

通信原理笔记—基带信号的检测与最佳接收

目录 在加性白高斯噪声信道条件下数字基带信号的接收&#xff1a; 加性高斯白噪声干扰下的信号检测&#xff1a; 最大似然判决准则&#xff1a;误码率最小意义上的最佳判决&#xff1a; 先验等概及最佳判决时的误码率计算&#xff1a; 高斯噪声干扰下二进制信号的检测&…

Mock.js(简单代替后台)

Mock.js &#xff08;官网http://mockjs.com/&#xff09;是一款模拟数据生成器&#xff0c;旨在帮助前端开发人员独立于后端进行开发&#xff0c;帮助编写单元测试。二、为什么使用mockjs在做开发时&#xff0c;当后端的接口还未完成&#xff0c;前端为了不影响工作效率&#…

【实际开发12】- Utils / tools

目录 1. 自定义工具类 概念 / 解析 1. 构建方式 1. XxxClassl 类 public xxx() → new XxxClass() 2. XxxClassl 类 public static xxx() → XxxClass.xxx() 2. Interface 1. public interface XxxMapper → private final XxxMapper 2. public interface IXxxService →…

面经八,笔试加面试

Java 开发面试题&#xff0c;尧壁信科有限公司 笔试&#xff1a; 1、Java 中有几种类型的流&#xff1f; 字节流字符流&#xff0c;输入流输出流 2、什么是 java反射? 在程序的运行状态中&#xff0c;对于任意一个类&#xff0c;都可以知道整这个类的所有属性和方法&#xf…

如何锁定Excel表格的公式不被修改

很多小伙伴在制作Excel表格的时候&#xff0c;往往还会设置很多公式&#xff0c;但如果不小心或被他人随意修改了公式&#xff0c;就会造成数据错误&#xff0c;为了避免这种情况&#xff0c;其实我们可以设置保护&#xff0c;让公式锁定无法被修改。 下面举一个例子来看看如何…

【C语言 数据结构】串

文章目录串类型的定义串的表示和实现定长顺序存储堆分配存储表示串的块链存储表示串的模式匹配算法字串的定位函数匹配模式的改进算法串类型的定义 对于由多个字符&#xff08;≥ 0&#xff09;组成的字符串&#xff08;例如 http://data.biancheng.net&#xff09;&#xff0…

Git版本如何使用命令进行升级(win10)

1、桌面鼠标右键&#xff0c;点击Git Bash Here,输入git --version 查看目前Git版本。 2、输入git update-git-for-windows 升级版本&#xff0c;再输入y同意升级并覆盖之前的版本。 我在版本升级的过程中遇到了error: RPC failed&#xff1b; curl 92 HTTP/2 stream 0 was not…

SaaS-API越权漏洞检测系统

概述通过替换认证信息后重放请求&#xff0c;并对比数据包结果&#xff0c;判断接口是否存在越权漏洞特点支持HTTPS自动过滤图片/js/css/html页面等静态内容多线程检测&#xff0c;避免阻塞支持输出报表与完整的URL、请求、响应安装和使用安装依赖git clone https://github.co…

Eyeshot 2023 测试版,离发行版不远了

Eyeshot 2023 测试版 这个 Beta 版本来得太晚了&#xff0c;因为我们决定放弃许多客户不喜欢的 v2022 GEntities。该产品已根据以下架构进行了完全重构。例如&#xff0c;使用 Eyeshot 2023 可以非常轻松地在 Web 项目中使用没有 UI 的产品。这也简化了从 Eyeshot 2021 版的项…

【软件测试】6年资深测试总结的,测试人常常犯的9大误区,背锅不存在的......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 1、把原型设计、UI效…

Chapter3:机器人系统设计

ROS1{\rm ROS1}ROS1的基础及应用&#xff0c;基于古月的课&#xff0c;各位可以去看&#xff0c;基于hawkbot{\rm hawkbot}hawkbot机器人进行实际操作。 ROS{\rm ROS}ROS版本&#xff1a;ROS1{\rm ROS1}ROS1的Melodic{\rm Melodic}Melodic&#xff1b;实际机器人&#xff1a;Ha…

无忧·企业文档自助配置完成单点登录配置,对接企业原有组织架构

我作为企业文档的产品负责人&#xff0c;常常被问及企业文档和其他在线文档有啥差不一样的地方&#xff1f;我大致总结了下&#xff0c;有几个方面&#xff1a;1、企业文档定位于企业内部的内容管理工具&#xff0c;侧重于私有化部署。核心的是数据的控制权在企业自己手中&…

类和对象-对象特性

前言&#xff1a;主要讲述对象的初始化与清理&#xff0c;构造函数与析构函数&#xff0c;其分类和调用&#xff0c;以及调用时机等相关内容对象的初始化与清理&#xff1a;1.生活中我们买的电子产品都基本会有出厂设置&#xff0c;在某一天我们不用的时候也会删除一些自己的信…

Java基础多线程下篇

本篇本文目录:一.线程死锁1.重入锁2.释放锁3.死锁4.wait和notify二.锁1.ReentrantLock2.Condition3.ReadWriteLock4.StampedLock5.Semaphore6.线程并发安全(1) concurrent(2) atomic三.线程池1.通过线程池分配线程2.FixedThreadPool3.CachedThreadPool4.ScheduledThreadPool四.…

粒子输运的蒙特卡罗方法介绍

蒙特卡罗大部分改概念和方法不依赖空间的维度&#xff0c;可以先讨论一维情况下粒子的蒙特卡罗输运。单能粒子输运的玻尔兹曼方程可以写为&#xff1a;仅考虑散射和吸收EtEsEa吸收意味着粒子生命周期的终结。图2.1示例&#xff1a;通过蒙特卡罗方法确定目标几何体内外的中子分布…