vite项目运行后是主机地址的解决方案

当vite升级到3和以上版本的时候,默认启动时,打印的地址将不再是localhostl,而是127.0.0.1,如下图:

 解决方案

官网文档地址:开发服务器选项 | Vite 官方中文文档 (vitejs.cn)icon-default.png?t=N7T8https://vitejs.cn/vite3-cn/config/server-options.html

vite.config.js配置文件中加入如下代码

import dns from 'dns'

dns.setDefaultResultOrder('verbatim')

重新运行,即可。

 原因分析

在某些情况下,可能响应的是其他服务器而不是 Vite。

第一种情况是 localhost 被使用了。Node.js 在 v17 以下版本中默认会对 DNS 解析地址的结果进行重新排序。当访问 localhost 时,浏览器使用 DNS 来解析地址,这个地址可能与 Vite 正在监听的地址不同。当地址不一致时,Vite 会打印出来。

你可以设置 dns.setDefaultResultOrder('verbatim') 来禁用这个重新排序的行为。Vite 将会将改地址打印为 localhost

第二种情况是使用了通配主机地址(例如 0.0.0.0)。这是因为侦听非通配符主机的服务器优先于侦听通配符主机的服务器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值