关于react上线系列问题及解决方案
近使用react做了一个音乐播放器小项目,在线下开发完成后,测试一切都没有问题,于是打算打包上线。首先注册了一个新浪云账号,然后创建了一个SAE应用实例,再然后就照着新浪云给出的远程仓库进行push。最终在这里整整花了一天的时间,经过老师的指导,最终成功上线,好了,接下来便说说我在push代码过程中遇到的问题吧!
首先:
前端环境:react react-router-dom redux react-redux axios

后台环境:nodejs
因为数据是通过反向代理得到的,所以搭建后台只是为了代理数据,并且这也是我在后面遇到的问题之一。
然后,git上传代码的时候遇到如下问题:
1、因为使用git不熟练,所以在拉取远程仓库的时候用户名写错了,然后后面就一直报错
报错代码:
fatal: Authentication failed for 'https://git.sinacloud.com/mymusic/'
解决方法:
方法一:
git config --global user.name "xxx"
git config --global user.email "xxx"
方法二:
git remote -v
git remote remove origin
git remote add origin xxx
上面的这两个方法如果解决不了问题,再尝试一下下面这个方法,一般情况下下面这个方法可以解决这类问题,具体如下所示:
git config --system --unset credential.helper
执行这个命令之后,你可以重新写入账号密码,这样就可以重新提交代码了。
解决方法来源于:https://cloud.tencent.com/developer/news/234398(感谢提供)
2、git在commit时找不到用户信息
报错代码:
** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'tim@newton.(none)')
解决办法:
直接在命令窗口运行
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
这两句代码,把后面的名字改成你自己的就可以了,当然也可以不用改。
3、最终push的时候报了一个错,然后我就弄了一天!
[remote rejected] master -> master (pre-receive hook declined)

我这里报错的的原因就是我在上面说的,因为后台没有搭建,因为我刚开始是通过反向代理代理的别人的数据,但是在传到新浪云应用去的时候需要与服务端一起传递才可以但是我并没有搭建服务端,然后我用express -e 快速搭建了一个以express为框架的服务端。最后成功的把文件传上了远程仓库,但是,后面又遇到了问题。
解决办法:搭建一个后台
4、由于前端代码中使用了反向代理,在线下开发中测试没有任何问题,但是线上却代理不到数据。
解决办法:
在服务器端进行反向代理。代码如下:
"connect-history-api-fallback": "^1.5.0",
"http-proxy-middleware": "^0.19.1",
这是服务器端package.json的代码,因为需要通过npm下载这两个中间件
connect-history-api-fallback:重定向
http-proxy-middleware:反向代理
两个中间件下载好后,就在app.js中进行配置,代码如下:
var history = require('connect-history-api-fallback');
var proxy = require('http-proxy-middleware');
var app = express();
app.use(history({
index: '/'
}));
app.use('/music/api/*', proxy({target: 'https://api.mlwei.com/', changeOrigin: true}));
并将前端的反向代理改为如下:
axios.get('/music/api/?key=523077333&id=3641614987&type=11&cache=1&size=hq').then((res)=>{
if(res.data.Code==='OK'){
setSessionStorage('songList',JSON.stringify(res.data.Body));
this.setState({
list:res.data.Body,
isLoading:true
});
}
})
然后就ok啦,项目就能在网上奔腾啦!!!
献上项目展示:
list/pic/lyric页:



(项目路径:http://mymusic.applinzi.com)
链接:https://pan.baidu.com/s/1aMcwQYZqRbGqZtfj8d10Vg
提取码:nkia
最后,感谢老师和同学们的帮助!!!!
关于react上线系列问题及解决方案的更多相关文章
- React 深入系列5:事件处理
文:徐超,<React进阶之路>作者 授权发布,转载请注明作者及出处 React 深入系列5:事件处理 React 深入系列,深入讲解了React中的重点概念.特性和模式等,旨在帮助大家加 ...
- 七天接手react项目 系列 —— 尾篇(antd 和 mobx)
其他章节请看: 七天接手react项目 系列 尾篇 前面我们依次学习了 react 基础知识.react 脚手架创建项目.react 路由,已经花费了不少时间,但距离接手 spug_web 项目还有一 ...
- C#进阶系列——WebApi 异常处理解决方案
前言:上篇C#进阶系列——WebApi接口传参不再困惑:传参详解介绍了WebApi参数的传递,这篇来看看WebApi里面异常的处理.关于异常处理,作为程序员的我们肯定不陌生,记得在介绍 AOP 的时候 ...
- React学习系列
React学习系列 系列学习react 翻译地址 https://scotch.io/tutorials/learning-react-getting-started-and-concepts 我是初 ...
- React文档翻译系列(三)JSX简介
# React文档翻译系列(三)JSX简介 先来看一下下面的变量声明: ``` const element = Hello world! ``` 这种有趣的标签语法既不是字符串也不是HTML. 这种形 ...
- React文档翻译系列(二)Hello World
这是React文档翻译系列的第二篇,前一篇介绍了如何安装react,本篇主要介绍react的知识体系,掌握了基本的知识体系,才能更好的学习React. Hello World 开始React最简单的方 ...
- React 深入系列1:React 中的元素、组件、实例和节点
文:徐超,<React进阶之路>作者 授权发布,转载请注明作者及出处 React 深入系列,深入讲解了React中的重点概念.特性和模式等,旨在帮助大家加深对React的理解,以及在项目中 ...
- React 深入系列2:组件分类
文:徐超,<React进阶之路>作者 授权发布,转载请注明作者及出处 React 深入系列2:组件分类 React 深入系列,深入讲解了React中的重点概念.特性和模式等,旨在帮助大家加 ...
- React 深入系列3:Props 和 State
文:徐超,<React进阶之路>作者 授权发布,转载请注明作者及出处 React 深入系列3:Props 和 State React 深入系列,深入讲解了React中的重点概念.特性和模式 ...
随机推荐
- 志愿者招募 HYSBZ - 1061(公式建图费用流)
转自神犇:https://www.cnblogs.com/jianglangcaijin/p/3799759.html 题意:申奥成功后,布布经过不懈努力,终于 成为奥组委下属公司人力资源部门的主管. ...
- 【XSY2771】城市 分治
题目描述 一个平原上有\(n\)个城市,第\(i\)个城市在点\((\cos \frac{2i\pi}{n},\sin \frac{2i\pi}{n})\)上. 每个城市和最近的两个城市有一条直线段的 ...
- MT【272】更大的视野,更好的思路.
已知$f(x)=\sum\limits_{k=1}^{2017}\dfrac{\cos kx}{\cos^k x},$则$f(\dfrac{\pi}{2018})=$_____ 分析:设$g(x)=\ ...
- for循环是怎么工作的
for...in 是Python程序员使用最多的语句,for 循环用于迭代容器对象中的元素,这些对象可以是列表.元组.字典.集合.文件,甚至可以是自定义类或者函数,例如: 作用于列表 >> ...
- 基于配置文件的redis的主从复制
redis中主从复制有很多种配置方法: 1. 使用配置文件即为redis.conf来配置 在随从redis中配置 # slaveof {masterHost} {MastePort} slaveof ...
- Loj 103、10043 (KMP统计子串个数)
KMP算法学习链接:https://blog.csdn.net/starstar1992/article/details/54913261/ KMP算法:可以实现复杂度为O(m+n) 为何简化了时间复 ...
- 阿里云 docker连接总报超时 registry.cn-hangzhou.aliyuncs.com (Client.Timeout exceeded while awaiting headers
Error response from daemon: Get https://registry.cn-hangzhou.aliyuncs.com/v2/: net/http: request can ...
- 洛谷P4316 绿豆蛙的归宿
一眼看去,这不是高斯消元吗? 然后发现数据范围是100000... 然后发现是DAG...直接拓扑序递推即可. 边(x, y,z)的贡献是P(x) * z / out[x] #include < ...
- IOS11 底部输入框被手机输入法遮住
前言: 最近在做一个评论的功能,前端页面中输入评论框在页面的最底部,在ios11中手机的输入法会遮住那个输入框,在其它手机上正常. 一直在找有关的解决方案,虽然最终也没有解决,还是记录过程,供参考. ...
- [luogu2296][寻找道路]
直接赋题目..... 题目描述 在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点 ...