当前位置: 首页 > news >正文

h5(react ts 适配)

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

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

首先,确保你已经安装了 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、在项目对应的命令窗口中,依次执行如下命令:

git remote add origin <仓库地址>
git add .
git commit -m "Initial commit"
git push -u origin master

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

二、写代码:

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

三、路由

用react-router、安装之后在app.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

import axios from 'axios';const httpService = axios.create({baseURL: '/api', // 设置API的基本URLtimeout: 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实例啦

import http from './index'export const getCheckList = (data: any) => {return http({url: '',method: 'post',data,})
}

五、跨域

前端如何解决跨域

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

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

六、项目适配

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

http://www.lryc.cn/news/234160.html

相关文章:

  • 计算机视觉:驾驶员疲劳检测
  • Vue向pdf文件中添加二维码
  • idea一键打包docker镜像并推送远程harbor仓库的方法(包含spotify和fabric8两种方法)--全网唯一正确,秒杀99%水文
  • 程序设计:C++11原子 写优先的读写锁(源码详解二:操作跟踪)
  • Django视图层解析
  • JAVA使用RXTXcomm进行串口通信(一)
  • Vue+ElementUI技巧分享:自定义表单项label的文字提示
  • 【QML】警告Name is declared more than once
  • 【自用总结】正项级数审敛法的总结
  • ARMv8平台上安装QT开发环境
  • 基于人工电场算法优化概率神经网络PNN的分类预测 - 附代码
  • 在服务器导出kafka topic数据
  • 农户建档管理系统的设计与实现-计算机毕业设计源码20835
  • uniapp的Vue2,Vue3配置跨域(proxy代理)
  • 处理BOP数据集,将其和COCO数据集结合
  • 跟李沐学AI-深度学习课程05线性代数
  • 电子病历编辑器源码(Springboot+原生HTML)
  • Qt的日志输出
  • 基于热交换算法优化概率神经网络PNN的分类预测 - 附代码
  • main.js 中的 render函数
  • Pandas 将DataFrame中单元格内的列表拆分成单独的行
  • PDF转化为图片
  • 【Java】智慧工地管理系统源码(SaaS模式)
  • torch.nn.functional.log_softmax 函数解析
  • jQuery、vue、小程序、uni-app中的本地存储数据和接受数据是什么?
  • 黑马React18: 基础Part 1
  • windows Oracle Database 19c 卸载教程
  • 动态规划解决leetcode上的两道回文问题(针对思路)
  • 使用人工智能自动测试 Flutter 应用程序
  • 四、程序员指南:数据平面开发套件