umi@4 模板项目配置nginx转发后页面不断刷新的问题

umi@4 模板项目配置nginx转发后页面不断刷新的问题

启动umi@4基于antd-design-pro模板项目的开发环境之后,得到的信息如下:

pnpm max dev
info  - [你知道吗?] 如果你需要使用 Jest 来测试 Umi 项目, max g jest 就可以一键完成配置,详见 https://umijs.org/docs/guides/generator#jest-%E9%85%8D%E7%BD%AE%E7%94%9F%E6%88%90%E5%99%A8
info  - Umi v4.0.49
info  - Preparing...
info  - MFSU eager strategy enabled
info  - [MFSU][eager] restored cache
event - [MFSU][eager] start build deps
info  - [MFSU] skip buildDeps
        ╔════════════════════════════════════════════════════╗
        ║ App listening at:                                  ║
        ║  >   Local: http://localhost:8001                  ║
ready - ║  > Network: http://10.82.68.28:8001                ║
        ║                                                    ║
        ║ Now you can open browser with the above addresses↑ ║
        ╚════════════════════════════════════════════════════╝
info  - [MFSU][eager] worker init, takes 899ms
event - [Webpack] Compiled in 1455 ms (399 modules)
wait  - [Webpack] Compiling...
event - [MFSU][eager] start build deps
info  - [MFSU] skip buildDeps
event - [Webpack] Compiled in 50 ms (361 modules)

上面的信息表明开发环境开在了8001端口上。
与之对应的nginx配置

server {
        listen 7100;
        location / {
                proxy_pass http://127.0.0.1:8001;
        }
}

表明我想将所有访问7100的流量转发到8001端口上,也就是说我将通过访问7100端口来访问8001端口。
这时访问http://10.82.68.28:7100会发现页面不断刷新。
问题的关键在于用于代码热更新的MFSU服务无法访问,该服务是个websocket连接,在浏览器上按F12进入调试器-控制台,可以发现报了下面这个错误。
在这里插入图片描述
因此会不断刷新页面。

解决方法

在项目的根目录(和src同级的目录)创建一个.env.local的文件,用于控制开发时的环境变量,该文件默认在.gitignore当中。
.env.local中添加以下一行:

SOCKET_SERVER=http://10.82.68.28:8001/

即指定一个和开发服务器地址相同的SOCKET_SERVER环境变量,即能解决问题。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值