【REACT16】react老项目版本依赖适配问题

现在react已经升级到v19了,但又很多老项目版本还停滞在16.x

记录下在用react16创建新项目的时候版本依赖问题

package文件版本号

json 复制代码
{
  "name": "ms-bike-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "axios": "^0.18.0",
    "react": "^16.3.2",
    "react-dom": "^16.3.2",
    "react-router": "^4.2.0",
    "react-router-dom": "^4.2.2",
    "react-scripts": "^5.0.1"
  },
  "scripts": {
    "dev": "craco start",
    "build": "craco build",
    "test": "craco test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": []
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@craco/craco": "^6.2.0",
    "craco-less": "^3.0.1",
    "less-loader": "^4.1.0"
  }
}

覆盖cra的默认配置

react-scripts用最新的即可

在首页新建一个craco.config.js配置文件,使用cjs格式

我们在项目中使用的css预处理语言是less,所以直接这样配置使得less文件生效

js 复制代码
const CracoLessPlugin = require('craco-less');
module.exports = {
    plugins: [
        {
            plugin: CracoLessPlugin,
            options: {
                lessLoaderOptions: {
                    lessOptions: {
                        modifyVars: { '@primary-color': '#1DA57A' },
                        javascriptEnabled: true,
                    },
                },
            },
        },
    ],
}

测试效果



这样就不用eject出cra隐藏的配置文件了,后面就可以按需自定义配置文件了

引入antd

正确的版本

bash 复制代码
"antd": "^4.24.16",

其他版本会报错,没试过v5的,查资料说可以支持,可是自己试下

引入的文件必须是less格式才生效

js 复制代码
import 'antd/dist/antd.less';

下面的方式有问题的,会报错,但是也生效,就是控制台看着很乱

js 复制代码
import 'antd/dist/antd.css';
相关推荐
Z兽兽6 小时前
React@18+Vite项目配置env文件
前端·react.js·前端框架
SuniaWang6 小时前
《Spring AI + 大模型全栈实战》学习手册系列 · 专题六:《Vue3 前端开发实战:打造企业级 RAG 问答界面》
java·前端·人工智能·spring boot·后端·spring·架构
A_nanda7 小时前
根据AI提示排查vue前端项目
前端·javascript·vue.js
happymaker06267 小时前
web前端学习日记——DAY05(定位、浮动、视频音频播放)
前端·学习·音视频
~无忧花开~7 小时前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架
LegendNoTitle7 小时前
计算机三级等级考试 网络技术 选择题考点详细梳理
服务器·前端·经验分享·笔记·php
@大迁世界8 小时前
1.什么是 ReactJS?
前端·javascript·react.js·前端框架·ecmascript
BJ-Giser8 小时前
Cesium 基于EZ-Tree的植被效果
前端·可视化·cesium
王码码20359 小时前
Flutter for OpenHarmony:Flutter 三方库 algoliasearch 毫秒级云端搜索体验(云原生搜索引擎)
android·前端·git·flutter·搜索引擎·云原生·harmonyos
发现一只大呆瓜9 小时前
深入浅出 AST:解密 Vite、Babel编译的底层“黑盒”
前端·面试·vite