CRA Style样式配置

阅读: 评论:0

CRA Style样式配置

CRA Style样式配置

文章目录

    • CSS
    • CSS Modules
    • sass
    • 配置sass-resource
    • less

CSS

  • 无须配置css, CRA天然支持

CSS Modules

  • css Modules亦天然支持,尽管有些人不喜欢,但很有用,能避免很多class冲突
  • 注意,css file须以module.css后缀命名,否则不成功
import Style from './dule.css';<Button className={Style.btnName}>Login in</Button>// => <button class='fileName_clsName_hash'>

sass

  • 旧版需要安装node-sassdart-sass,无需安装sass-loader
  • 新版的**CRA*
    *直接安装sass即可跑动

配置sass-resource

// 使用  react-app-rewire-sass-resource(注意这个是自己写的库) + sass-resources-loader 配置全局 sass 变量
const configSassResources = (config) => {require('./react-app-rewire-sass-resource')(config, { // 这里参数参考 sass-resources-loaderresources: ['./src/styles/variables.scss',]})
}

less

  • 使用custom-cra, react-app-rewried, less, less-loader来完成配置
const cust_cra = require('customize-cra')
const { addLessLoader } = cust_craconst configLess = (config) => {addLessLoader({})(config)
}
  • 有大概率会遇到以下问题: Invalid Options for PostCSS Loader, XXXX API Scheme
  • , no PluginXXX * 等问题
  • 解决方案一,使用低于version5.0以下的less-loader
  • 解决方案二,使用以下配置:
const cust_cra = require('customize-cra')
const { adjustStyleLoaders } = cust_craconst configStyleLoader = (config) => {adjustStyleLoaders(({ use: [, , postcss] }) => {const postcssOptions = postcss.options;postcss.options = { postcssOptions }})(config)
}
  • 并将configStyleLoader置于configLess后面进行,
  • 如遇到:
  • 在安装less-loader/sass-loader时似乎会遇到这个问题,这是由于版本不兼容的情况导致的,此时应该降一下版本,
  • 原因:less-loader@8.0.0只兼容webpack5
  • 比如在21-03这个时间段,less-loader最新版本是8.0.0,改为7.3.0解决问题
  • _type of no function/no ennabled javascript,出现这样的错误的时候,添加loader options
lessOptions: {javascriptEnabled: true
}
  • 注意
  • 引用postcss及其插件时,应将配置postcss的配置项置于less/sass等的配置项之后,以免引起错误(rewire的本质是覆写);

本文发布于:2024-02-05 08:25:58,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170728096164901.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:样式   CRA   Style
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23