h5(react ts 适配)

一、新建项目并放在码云托管

1、新建项目:react ts h5 考虑到这些 用 create-react-app 脚手架来搭建项目。

js 复制代码
首先,确保你已经安装了 Node.js。如果没有安装,请先从官方网站 https://nodejs.org/ 下载并安装 Node.js。

打开命令行工具,然后执行以下命令来全局安装 create-react-app 脚手架工具:

npm install -g create-react-app
接下来,在命令行中执行以下命令来创建一个新的 TypeScript React 应用程序:

npx create-react-app my-react-app --template typescript
其中,"my-react-app" 是你的项目名称,你可以根据实际情况进行修改。

create-react-app 将会自动创建并初始化一个新的 TypeScript React 项目,并安装所需的依赖包。这个过程可能会花一些时间。

当创建完成后,进入项目目录:

cd my-react-app
最后,运行以下命令启动开发服务器,以预览你的新项目:

npm start

2、在码云(gitee)上新建一个仓库

目前为止,项目有了,仓库有了。现在要做的就是把项目放在gitee上进行托管。

3、在项目对应的命令窗口中,依次执行如下命令:

js 复制代码
git remote add origin <仓库地址>
git add .
git commit -m "Initial commit"
git push -u origin master

但是此时很有可能会报错,拿着报错信息去百度。

二、写代码:

​ 除了我们常见的谷歌浏览器外,在火狐浏览器可以用手机扫码,在手机上查看效果,并且,代码修改中保存后会和效果同步。

三、路由

用react-router、安装之后在app.tsx文件中。

tsx 复制代码
import { BrowserRouter as Router, Route, Routes } from 'react-router-dom';
。。。
return (
    <div id='app'>
      <div className='app-main' style={{ width: `${appMainWidth}px`, height:               `${appMainHeight}px` }}>
        <Router>
          <Routes>
            <Route path="/check" element={<Check />} />
          </Routes>
        </Router>
      </div>
    </div>
  );
。。。

四、网络请求,接axios

1、安装、配置axios

ts 复制代码
import axios from 'axios';

const httpService = axios.create({
    baseURL: '/api', // 设置API的基本URL
    timeout: 10000, // 设置超时时间
    headers: {
        'Content-Type': 'application/json',
    },
});

// 添加请求拦截器
httpService.interceptors.request.use(config => {
    // 在发送请求之前做些什么
    // 可以在这里添加认证信息、loading状态等
    return config;
}, error => {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
httpService.interceptors.response.use(response => {
    // 对响应数据做点什么
    return response.data;
}, error => {
    // 对响应错误做点什么
    return Promise.reject(error);
});

export default httpService;

在写接口的文件中,就可以调用这个文件中的axios实例啦

ts 复制代码
import http from './index'

export const getCheckList = (data: any) => {
  return http({
    url: '',
    method: 'post',
    data,
  })
}

五、跨域

前端如何解决跨域

可以在webpack的配置文件(webpackDevServer.config.js)中直接配置代理

js 复制代码
// `proxy` is run between `before` and `after` `webpack-dev-server` hooks
    proxy: {
      '/api': {
          target: '', // 后台服务地址以及端口号
          ws: true,
          changeOrigin: true, //是否跨域
          pathRewrite: { '^/api': '/' }
       }
    },

六、项目适配

参考 https://blog.csdn.net/qq_52181663/article/details/134463765?spm=1001.2014.3001.5501

相关推荐
天若有情67310 分钟前
前端HTML精讲01:别再乱 div 一把抓,吃透语义化标签才是进阶第一步
前端·html
Highcharts.js11 分钟前
React 开发者的图表库生态:Highcharts React
前端·react.js·前端框架
阿部多瑞 ABU11 分钟前
文明文化悖论
前端·人工智能·ai写作
钛态30 分钟前
Flutter 三方库 react 泛前端核心范式框架鸿蒙原生层生态级双向超能适配:跨时空重塑响应式单向数据流拓扑与高度精密生命周期树引擎解耦视图渲染控制中枢(适配鸿蒙 HarmonyOS ohos)
前端·flutter·react.js
全栈前端老曹31 分钟前
【前端地图】地图开发基础概念——地图服务类型(矢量图、卫星图、地形图)、WGS84 / GCJ-02 / BD09 坐标系、地图 SDK 简介
前端·javascript·地图·wgs84·gcj-02·bd09·地图sdk
只与明月听32 分钟前
RAG深入学习之向量数据库
前端·人工智能·python
吕不说1 小时前
AI 面试总挂?可能是表达出了问题:三层表达法 + STAR 进阶框架
前端
社恐的下水道蟑螂1 小时前
LangChain 进阶实战:从玩具 Demo 到生产级 AI 应用(JS/TS 全栈版)
前端·langchain·openai
Fairy要carry1 小时前
项目01-手搓Agent之loop
前端·javascript·python
亲亲小宝宝鸭1 小时前
Ctrl ACV工程师的提效之路:删掉项目中的冗余
前端