Closed goudanz closed 2 years ago
跟iframe没关系,查一查服务端 ,看看这个文件是否存在,像是服务端的静态文件缓存设置有问题,导致前端没获取到最新部署的文件。你可以换一个浏览器,或者清除浏览器缓存试试,如果好了,就是缓存的问题,服务端没设置好。
跟iframe没关系,查一查服务端 ,看看这个文件是否存在,像是服务端的静态文件缓存设置有问题,导致前端没获取到最新部署的文件。你可以换一个浏览器,或者清除浏览器缓存试试,如果好了,就是缓存的问题,服务端没设置好。
明白。我试试看
@zkboys 大佬,我在新做的另外两个功能里也碰到这个问题了,是用props.history.push(`/report/_/show/${id}`)
这种方式跳的!
然后其中这个report可以打开,页面可以正常显示:
但是在这里如果 F5一下,就会崩溃:
另一个页面是直接就进不去。和iframe一样。页面都显示不了,
然后我试了各种办法,
然后也取消了二级的path写法,也不行!
还有跳转方式用了window.location.href 也不行!
用了react自带的Link:import {Link} from 'react-router-dom';
也不行!
我还手动把服务器中前端文件夹的内容rm掉。然后用ftp直接上传,也不行~
最后,我甚至把被跳转的页面改成如下:
import React from 'react';
export const PAGE_ROUTE = '/plan/:id';
export default (props => {
return (
<>
hello world
</>
);
});
还是无法跳转!呼~ 我在想,要不要把这几个功能直接改成弹窗算了。然后弹窗撑满屏幕。。。。。。。
你线上的ng配置发一下吧看看。
我直接有把文档里的nginx配置发给运维,但是他们貌似有一套自己的部署脚本。所以没按照我发的来
@zkboys 大佬,是哪里没配置正确吗?
你看看其他页面是不是F5刷新都是这个问题?如果都是这个问题,就跟iframe没有什么关系。
让你们那边运维查查,线上的NG是否配置了 try_files
location / {
index index.html;
try_files $uri $uri/ /index.html; #react-router 防止页面刷新出现404
}
是这个嘛?
你看看其他页面是不是F5刷新都是这个问题?如果都是这个问题,就跟iframe没有什么关系。
其他没有push url的页面都没问题;
iframe嵌套页面直接进不去。 然后后面做了一个新的功能,也是用的push,也是进不去。render都没渲染出来;
后面做的一个report的功能,push url可以进入页面。但是刷新就会报同样的问题;
排查一下 iframe页面单独访问是否有问题。
@zkboys 大佬,不好意思,真是我改出问题了。我把v5版本拉下来覆盖到项目的线上目录。是没问题的;
@zkboys 找到问题了。原因是我在package.json里配置了homepage:“.”
{
"name": "react-adminv4",
"version": "4.0.0",
"private": true,
"homepage": ".",
"scripts": {
...
@zkboys 配置homepage的原因是第一次部署之后打不开首页。就像我现在去掉homepage后,也打不开首页一样。
homepage 这个东西没用啊~
是不是你们运维用到这个东西了,我记得项目中是没有用这个东西的。
然后我也没找到为啥会打不开首页。就是直接敲根域名。
我现在直接从根域名进入,就会进入404页面或者直接不显示。然后我把home/index.jsx里的 路由改成了 /home,现在点击左上角标题跳不到首页了。我怎么能手动控制左上角标题哪里的点击操作呀?
是不是你们运维用到这个东西了,我记得项目中是没有用这个东西的。
是我加的homepage
我再尝试一下
@zkboys 大佬,搞定了
我先删掉homepage,
再全部还原对home/index.jsx 的路由配置。就好了
@zkboys 多谢大佬!麻烦您啦!
同一个外部的地址;本地是没问题的;
线上会报错:
而且我在iframe/index.jsx中打了日志:
这个日志也没有输出!