create-react-app创建ts项目-引入antd踩坑

1.安装路由插件时安装@types/react-router-dom

2.index.tsx中删除<React.StrictMode>标签

Error: Cannot find module 'react-scripts/config/env.js'

bash 复制代码
yarn add react-scripts

4.路由懒加载+代码分割打包

bash 复制代码
yarn add react-loadable babel-plugin-syntax-dynamic-import --dev

参考:

react实现路由懒加载(异步组件)_react react-loadable babel-plugin-syntax-dynamic-i_qianlingvip的博客-CSDN博客

babel-plugin-syntax-dynamic-import_xiange18的博客-CSDN博客

5.分环境打包

bash 复制代码
npm install dotenv-cli --save-dev

通过dotenv -e .env.tst(配置文件名) craco build打包指令 完成打包

参考

create-react-app中分环境打包_zerocher的博客-CSDN博客

6.设置打包后出口文件路径

package.json中添加homepage属性

7.查看打包的静态资源文件报错

Uncaught DOMException:Failed to execute 'replaceState' on 'History': A history state object with URL 'file:///home' cannot be created in a document with origin 'null' and URL 'file:///Users/hzby/Desktop/user/demo/ts-hooks-project/build/index.html#/home'.

路由改为HashRouter

8.antd样式按需加载

bash 复制代码
 npm i -D less@2.7 babel-plugin-import

配置Antd样式按需引入

同样是打开 webpack.config.js文件

文件搜索babel-loader 找到下面pulgins

添加一个配置项即可

复制代码
["import", { 'libraryName': 'antd', style: true }]

万事大吉项目中直接引入antd的组件即可,无需再全局引入antd的css样式

最后修改完webpack.config.js配置记得重启项目

9.使用Magic Comments魔术注释法设置打包文件名称

javascript 复制代码
const Home = loadable(()=>import(/* webpackChunkName: 'Home'*/'./../page/home'));
相关推荐
摸鱼的春哥26 分钟前
春哥的Agent通关秘籍13:实现RAG查询
前端·javascript·后端
明月_清风32 分钟前
滚动锁定:用户向上翻看历史时,如何阻止 AI 新消息把它“顶”下去?
前端·javascript
明月_清风33 分钟前
当高阶函数遇到 AI:如何自动化生成业务层面的逻辑拦截器
前端·javascript·函数式编程
moshuying11 小时前
别让AI焦虑,偷走你本该有的底气
前端·人工智能
GIS之路12 小时前
ArcPy,一个基于 Python 的 GIS 开发库简介
前端
可夫小子13 小时前
OpenClaw基础-为什么会有两个端口
前端
喝拿铁写前端13 小时前
Dify 构建 FE 工作流:前端团队可复用 AI 工作流实战
前端·人工智能
喝咖啡的女孩14 小时前
React 合成事件系统
前端
从文处安14 小时前
「九九八十一难」组合式函数到底有什么用?
前端·vue.js
用户59625857360614 小时前
戴上AI眼镜逛花市——感受不一样的体验
前端