欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > react+ts+antd项目搭建

react+ts+antd项目搭建

2025/7/2 14:05:51 来源:https://blog.csdn.net/xiaoxian_xian/article/details/140171653  浏览:    关键词:react+ts+antd项目搭建
前言: 基于ts语言创建react项目,node版本是v16.14.2

一、 脚手架创建项目

  1. 全局安装
 npm install -g creacte-react-app
  1. 创建项目file-management,ts需要添加–template typescript
npx create-react-app file-management --template typescript

二、 添加craco.config.js配置文件,类似于vue的vue.config.js文件

  1. 安装
npm i -D @craco/craco
  1. 在项目根目录添加craco.config.js文件并添加路径别名
const path = require('path')module.exports = {// webpack 配置webpack: {// 配置别名alias: {'@': path.resolve(__dirname, 'src')}}
}
  1. 修改 package.json 中的脚本命令

修改前:

"scripts": {"start": "react-scripts start","build": "react-scripts build","test": "react-scripts test","eject": "react-scripts eject"},

修改后:

"scripts": {"start": "craco start","build": "craco build","test": "craco test","eject": "craco eject"},
  1. 配置路径识别,在根目录tsconfig.json文件中添加baseUrl和paths
{"compilerOptions": {"target": "es5","lib": ["dom","dom.iterable","esnext"],"allowJs": true,"skipLibCheck": true,"esModuleInterop": true,"allowSyntheticDefaultImports": true,"strict": true,"forceConsistentCasingInFileNames": true,"noFallthroughCasesInSwitch": true,"module": "esnext","moduleResolution": "node","resolveJsonModule": true,"isolatedModules": true,"noEmit": true,"jsx": "react-jsx","baseUrl": "./","paths": {"@/*": ["src/*"]}},"include": ["src"]
}

更多配置参见craco配置文档

三、使用第三方组件库antd

需要注意的是antd是按需导入的,react并不能像vue一样把组件全部引用并注册。所以在react中使用antd只能是需要什么组件在页面中引入使用

  1. 安装
npm install antd --save
  1. 引入,以app.tsx为例
import { ConfigProvider } from 'antd';
import './App.css';function App() {return (<ConfigProvider></ConfigProvider>);
}export default App;

四、使用less

  1. 安装,我们使用craco方式
npm i craco-less
  1. 在craco.config.js文件中添加配置
const CracoLessPlugin = require('craco-less')module.exports = {plugins:[{// lessplugin: CracoLessPlugin,options: {// resolve-url-loader只对sass生效,craco-less默认使用sass配置,所以这里手动过滤掉resolve-url-loadermodifyLessRule: (lessRule) => {lessRule.use = lessRule.use.filter((i) => !i.loader.includes('resolve-url-loader'));return lessRule;},},},],
}
  1. 把app.css改为app.less并在app.tsx中引入
    在这里插入图片描述

五、使用路由

  1. 安装
npm install react-router react-router-dom
  1. 使用 app.tsx
import { ConfigProvider } from 'antd';
import { BrowserRouter as Router } from 'react-router-dom';
import './App.less';function App() {return (<Router><ConfigProvider></ConfigProvider></Router>);
}export default App;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词