返回顶部
首页 > 资讯 > 前端开发 > JavaScript >关于react+antd样式不生效问题的解决方式
  • 424
分享到

关于react+antd样式不生效问题的解决方式

2024-04-02 19:04:59 424人浏览 八月长安
摘要

目录1、添加antd组件样式不生效2、运行yarn eject时暴露配置文件报错3、less-loader版本过高,删除旧版本,下载低版本即可4、项目中引入icon代码报错补充:Re

1、添加antd组件样式不生效

在入口文件中引入import 'antd/dist/antd.CSS'
样式生效,但是生成警告
WARNING in ./node_modules/antd/dist/antd.css
Failed to parse source map: 'webpack://antd/./components/time-
picker/style/index.less' URL is not supported
 
这样就需要在WEBpack中配置,react项目默认的配置文件是不显示的,需要运行指令“yarn eject”暴露配置文件
运行时又遇到问题2
 
解决完问题2后
解决1的方法是在webpack.config.dev.js和webpack.config.prod.js文件添加相关配置,然后引入antd.less
暴露出webpack配置后,在webpack.config.js 中更改配置如下
// style files regexes
const cssRegex = /\.(css|less)$/;//此行为更改行!!!!!!!!!
const cSSModuleRegex = /\.module\.css$/;
const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;
 
const hasJsxRuntime = (() => {
  if (process.env.DISABLE_NEW_JSX_TRANSFORM === 'true') {
    return false;
  }
 
  try {
    require.resolve('react/jsx-runtime');
    return true;
  } catch (e) {
    return false;
  }
})();
 
// This is the production and development configuration.
// It is focused on developer experience, fast rebuilds, and a minimal bundle.
module.exports = function (webpackEnv) {
  const isEnvDevelopment = webpackEnv === 'development';
  const isEnvProduction = webpackEnv === 'production';
 
  // Variable used for enabling profiling in Production
  // passed into alias object. Uses a flag if passed into the build command
  const isEnvProductionProfile =
    isEnvProduction && process.argv.includes('--profile');
 
  // We will provide `paths.publicUrlOrPath` to our app
  // as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in javascript.
  // Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz.
  // Get environment variables to inject into our app.
  const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1));
 
  const shouldUseReactRefresh = env.raw.FAST_REFRESH;
 
  // common function to get style loaders
  const getStyleLoaders = (cssOptions, preProcessor) => {
    const loaders = [
      isEnvDevelopment && require.resolve('style-loader'),
      isEnvProduction && {
        loader: MiniCssExtractPlugin.loader,
        // css is located in `static/css`, use '../../' to locate index.html folder
        // in production `paths.publicUrlOrPath` can be a relative path
        options: paths.publicUrlOrPath.startsWith('.')
          ? { publicPath: '../../' }
          : {},
      },
      {
        loader: require.resolve('css-loader'),
        options: cssOptions,
      },
     //此{}为添加行!!!!!!!!!!!!!!!!!!!
      {
        loader:'less-loader',
        options:{
          javascriptEnabled: true
        }
      },
 

运行代码,后又遇到报错看问题3

报错:Less Loader has been initialized using an options object that does not match the api schema 

2、运行yarn eject时暴露配置文件报错

This git repository has untracked files or uncommitted changes:  .DS_Store

git add .
 
git commit -am "Save before ejecting"
 
然后再运行就可以了

这样的webpack文件中就有了

3、less-loader版本过高,删除旧版本,下载低版本即可

yarn remove less-loader 
 
yarn add less-loader@4.0.1

 再运行,代码成功运行

4、项目中引入icon代码报错

export 'Icon' (imported as 'Icon') was not found in 'antd'

Ant Design 从 v3 升级到 v4 导致

图标升级(点击可查看文档),旧版 Icon 使用方式将被废弃,你将仍然可以通过兼容包继续使用:

import { Icon } from '@ant-design/compatible';
 
运行时如果没有安装包,运行指令 yarn add  @ant-design/compatible
 
再重新运行代码就可以了

补充:React中antd按需加载样式不生效解决办法

按照antd官网文档,执行按需加载操作后,样式不生效,很可能是因为在webpack.config.js文件中设置了css模块化;

解决办法:

在终端中执行

npm run eject

弹出config文件夹后,找到webpack.config.js文件

{
              test: cssRegex,
              exclude: cssModuleRegex,
              use: getStyleLoaders({
                importLoaders: 1,//在这行后面添加 modules:false
                modules:false,
                sourceMap: isEnvProduction
                  ? shouldUseSourceMap
                  : isEnvDevelopment,
              }),

总结

到此这篇关于react+antd样式不生效问题的解决方式的文章就介绍到这了,更多相关react+antd样式不生效解决内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 关于react+antd样式不生效问题的解决方式

本文链接: https://lsjlt.com/news/164212.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 关于react+antd样式不生效问题的解决方式
    目录1、添加antd组件样式不生效2、运行yarn eject时暴露配置文件报错3、less-loader版本过高,删除旧版本,下载低版本即可4、项目中引入icon代码报错补充:Re...
    99+
    2024-04-02
  • Android关于Button背景或样式失效问题解决方法
    目录前言问题描述:问题原因:解决方法:总结前言 最近在学习安卓开发的时候遇到了一个问题,使用Android Studio在为Button设置背景颜色的时候发现设置好后却在运行模拟机上...
    99+
    2024-04-02
  • React样式冲突解决问题的方法
    目录前言:CSS IN JS一、概念二、CSS Modules三、在项目中使用css Modules四、css module配合sass五、module.scss 使用步骤:六、总结...
    99+
    2023-03-10
    React样式冲突 React样式
  • 外部css样式不生效的解决方法
    这篇文章给大家分享的是有关外部css样式不生效的解决方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 解决方法:1、将css引入的link的属性补充...
    99+
    2024-04-02
  • 关于css样式被覆盖的问题,及其解决方法
    当你给一个div添加一个class类名的时候,样式未显示的时候 例如: 首先第一步,打开f12标签上查看是否这个类名 此时会出现两种情况 第一种是类名未加上,此时应该查看class是否加错了标签 第二种情况就是,class加上去了,但是样...
    99+
    2023-08-31
    css 前端 html css3 javascript
  • css样式不生效如何解决
    1. 检查样式表的路径是否正确:请确保样式表文件的路径是正确的,可以使用相对路径或绝对路径。2. 检查样式表是否被正确引用:请确保在...
    99+
    2023-05-25
    css样式不生效 css
  • css样式不生效怎么解决
    当 css 样式不生效时,应从以下几个方面排查:确认样式表的链接是否正确。检查是否有其他 css 规则覆盖了您要应用的样式。确保您用于选择元素的 css 选择器是正确的。检查 html ...
    99+
    2024-05-21
    css
  • React样式冲突解决问题如何解决
    本篇内容主要讲解“React样式冲突解决问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React样式冲突解决问题如何解决”吧!前言:React最终编译打包后都在一个html页面中,如...
    99+
    2023-07-05
  • 关于iview和elementUI组件样式覆盖无效问题及解决
    目录iview和elementUI组件样式覆盖无效新建一个不含scoped的style标签覆盖组件样式/deep/ 预处理器less下使用Element-ui与IView中的样式覆盖...
    99+
    2024-04-02
  • 关于vuepress部署出现样式的问题及解决
    目录vuepress部署出现样式问题vuepress个人博客部署遇到的一些问题1、js和css出现404问题2、每次都要重复操作打包、运行、上传github很麻烦怎么办?3、gith...
    99+
    2024-04-02
  • 如何优雅地彻底解决antd全局样式问题
    要优雅地彻底解决antd全局样式问题,可以按照以下步骤进行:1. 确保正确引入antd样式:在项目的入口文件(通常是index.js...
    99+
    2023-09-20
    antd
  • elementui的el-popover修改样式不生效的解决方法
    本篇内容介绍了“elementui的el-popover修改样式不生效的解决方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在使用elem...
    99+
    2023-06-20
  • 关于React动态修改元素样式的三种方式
    目录React动态修改元素样式1.借助ref动态修改样式2.通过动态控制状态的变化修改元素的样式(两种方式)3.通过在DOM中使用JS代码(三元运算符)React样式冲突问题css-...
    99+
    2022-11-13
    React动态修改样式 React元素样式 元素样式动态修改
  • 解决SpringSecurity中AuthenticationEntryPoint不生效相关问题
    目录在这里我的代码如下用不存在的用户名密码登录后会出现以下返回数据以下是配置信息以下是实现的验证码登录过滤器以下是对应的源码我们首先看一下当前Security的拦截器链为了保证拦截器...
    99+
    2024-04-02
  • elementui的el-popover修改样式不生效的解决
    在使用element-ui的时候,有一个常用的组件,那就是el-popover,但是element-ui官方文档中样式跟用法都比较局限,在使用时都需要改动样式 项目中使用了el-po...
    99+
    2024-04-02
  • 关于vue3vuex4store的响应式取值问题解决
    场景: 在页面中点击按钮,数量增加,值是存在store中的,点击事件,值没变。 <script setup lang="ts"> import { useStore } ...
    99+
    2024-04-02
  • 关于React中的声明式渲染框架问题
    目录1. 命令式和声明式1.1 命令式1.2 声明式1.3 两种范式的性能和易维护性2. 虚拟DOM的性能如何3. 运行时和编译时3.1 运行时3.2 运行时 + 编译时3.3 编译...
    99+
    2024-04-02
  • 解决@Scope(“prototype“)不生效的问题
    目录@Scope(“prototype“)不生效@Scope(“prototype“)正确用法——解决Bean...
    99+
    2024-04-02
  • 怎样解决IE6、IE7、IE8样式不兼容问题
    怎样解决IE6、IE7、IE8样式不兼容问题,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。这里和大家探讨一下解决IE6、IE7、IE8 DIV...
    99+
    2024-04-02
  • 关于idea的gitignore文件编写及解决ignore文件不生效问题
    1.下载idea的 《.ignore》 插件,重启idea生效 2.添加自己想要忽略的文件夹及文件,一般选这个就够了 3.如果想要忽略提交的文件夹名称变成黄色了,就代表成功忽略...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作