react+antd引入并修改样式,配置别名路径

  1. 安装插件
npm install antd -S
npm install @craco/craco craco-less @babel/plugin-proposal-decorators babel-plugin-import -D
  1. 根目录下创建craco.config.js文件
const CracoLessPlugin = require('craco-less')
const path = require('path')

const pathResolve = pathUrl => path.join(__dirname, pathUrl);

module.exports = {
    webpack: {
      alias: {
        '@': pathResolve('src')
      }
    },
    babel: {
      plugins: [
        ['import', { libraryName: 'antd', style: true }],
        ['@babel/plugin-proposal-decorators', { legacy: true }]
      ]
    },
    plugins: [
      {
        plugin: CracoLessPlugin,
        options: {
          // 此处根据 less-loader 版本的不同会有不同的配置,详见 less-loader 官方文档
          lessLoaderOptions: {
            lessOptions: {
              modifyVars: {'primary-color':'#fcc900'},//修改样式
              javascriptEnabled: true
            }
          }
        }
      }
    ]
  }
  1. 修改package.json中的scripts
{
  "scripts":{
    "start": " craco start",
    "build": "set GENERATE_SOURCEMAP=false && craco build",
    "test": "craco test"
  }
}
  1. 根目录下创建jsconfig.json
{
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@@/*": ["./*"],
      "@/*": ["src/*"],
      "@assets/*": ["src/assets/*"],
      "@common/*": ["src/common/*"],
      "@components/*": ["src/components/*"],
      "@hooks/*": ["src/hooks/*"],
      "@pages/*": ["src/pages/*"],
      "@store/*": ["src/store/*"],
      "@utils/*": ["src/utils/*"]
    },
    "experimentalDecorators": true
  },
  "exclude": ["node_modules", "build"]
}
  1. 重启项目
React结合Ant Designantd)实现网页端配置数据并预览移动端效果的场景中,主要可以通过以下步骤来实现: 1. **环境搭建**:确保你的开发环境中已经安装了Reactantd库。如果还没有安装,可以通过npm或yarn来安装Reactantd。 2. **配置管理**:在React组件中创建一个状态管理系统,使用React的`useState`或`useReducer`钩子来管理配置数据。你可以在一个表单中输入或修改配置数据,并实时更新状态。 3. **数据展示**:将配置数据应用到antd组件上,根据配置的不同参数渲染出相应的UI效果。 4. **移动端预览**:为了在网页端模拟移动端效果,可以使用以下方法之一: - 使用浏览器的开发者工具中的设备模拟功能,例如Chrome的Device Mode。 - 利用antd自带的响应式布局功能,通过不同的屏幕尺寸媒体查询来适配移动端。 - 使用第三方库如`react-responsive`来根据屏幕尺寸变化渲染不同的UI组件。 5. **实时预览**:将配置数据渲染为移动端视图,并实时更新显示效果。可以通过组件的重新渲染来展示最新的配置结果。 6. **保存与加载**:实现配置数据的本地存储和加载功能,以便用户可以保存当前配置并在之后加载使用。 以下是一个简单的示例代码框架: ```jsx import React, { useState } from 'react'; import { Form, Input, Button } from 'antd'; function Configurator() { const [config, setConfig] = useState({ /* 初始配置数据 */ }); const handleInputChange = (field, value) => { setConfig({ ...config, [field]: value }); }; const handleFormSubmit = (event) => { event.preventDefault(); // 这里可以将config数据保存到本地或服务器 }; return ( <Form onSubmit={handleFormSubmit}> <Form.Item label="配置项1"> <Input onChange={(e) => handleInputChange('configItem1', e.target.value)} /> </Form.Item> {/* 其他配置项 */} <Form.Item> <Button type="primary" htmlType="submit"> 预览 </Button> </Form.Item> </Form> ); } export default Configurator; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值