js修改style样式_基于createreactapp脚手架,按需加载antd组件以及less样式

前言

为了更好的书写css样式,在react中引入less,在网上查询了许多关于react引入less样式文件的资料,大多数都是需要在react项目中npm run eject暴露出底层文件,然后在底层文件中修改dev-env的环境配置。在请教了大佬后知道可以根据antd官网文档中的高级配置来配备less,通过react-app-rewired来对默认配置进行自定义化,在新的@2.x版本中还需要下载customize-cra。这样我们就可以在项目的根目录下创建一个配置文件来修改默认的配置了。详细介绍可以参考antd官方网站的 高级配置文档eaea0408889ca8ce0ee1ad3080bee905.png环 境 依 赖1下载安装相关配置、依赖
npm install less less-loader --save  //安装less、less-loader依赖npm install react-app-rewired customize-cra --save  //安装自定义配置相关的依赖库npm babel-plugin-import --save  //安装用于按需加载的babel插件
2修改项目启动配置package.json

修改"script"的启动配置为react-app-rewired。

"scripts": {
        "start": "react-app-rewired start",  "build": "react-app-rewired build",  "test": "react-app-rewired test",  "eject": "react-scripts eject"}
3创建config-overrides.js文件

在根目录下创建config-overrides.js文件覆写修改webpack默认配置。

const { override, fixBabelImports, addLessLoader } = require('customize-cra'); module.exports = override(    fixBabelImports('import', {
              libraryName: 'antd',        libraryDirectory: 'es',        style: true,    }),    addLessLoader({
              javascriptEnabled: true,        modifyVars: { '@primary-color': '#1DA57A' },    }),);
4npm start重启项目

运行命令:npm start 重新启动项目。

npm start
js修改style样式_基于createreactapp脚手架,按需加载antd组件以及less样式_第1张图片 js修改style样式_基于createreactapp脚手架,按需加载antd组件以及less样式_第2张图片 js修改style样式_基于createreactapp脚手架,按需加载antd组件以及less样式_第3张图片实 例 测 试1App.js组件
import React, { Component } from 'react';import './App.less'  //引入less样式文件import { Button, Tag } from 'antd';  //引入antd的按钮、标签组件 class App extends Component {
        render() {
          return (      
2App.less样式
/*{App组件less样式}*/.box {
        width: 100vw;  height: 30vh;  background: wheat;  .unity();  flex-direction: column;  .home{
          margin: 20px;  }} /*{Home组件less样式}*/.box-items{
        width: 30vw;  height: 10vh;  background: pink;  .unity();} /*{通一less样式}*/.unity{
        display: flex;  justify-content: center;  align-items: center;}
3测试运行结果

js修改style样式_基于createreactapp脚手架,按需加载antd组件以及less样式_第4张图片

js修改style样式_基于createreactapp脚手架,按需加载antd组件以及less样式_第5张图片总 结

less.js让css的写法更加的灵活且更趋近于html的方式书写样式,为了在react项目中引入less,参考了antd的高级配置引入了我们项目中所需要的less样式,这个方法简化了配置less的操作,同时也避免了eject暴露底层文件。基于个人在开发过程中的经历,故此分享一下这个引入less的方式。antd官网还有另一种比较类似的方式引入less,在此就不多复述,如大家有更好更灵活的方式,可以一起探讨学习。

5a8b9e12f333fe5e7fc1937ec184629f.pngEnd

你可能感兴趣的:(js修改style样式,js修改样式,js重新加载div,less,函数,less安装,vant按需引入)