首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Vite时HTTP请求处于挂起状态

使用Vite时HTTP请求处于挂起状态
EN

Stack Overflow用户
提问于 2021-10-07 13:09:32
回答 1查看 2.1K关注 0票数 6

我有一个相当大的Vue 3应用程序(~550组件)。运行vue-cli-service serve只需2分钟,每次更改后大约要20秒才能重新构建它。热重新加载很久以前就停止工作了,所以它总是需要在浏览器中被刷新,即使是在一个小的样式改变之后。此外,这个应用程序还没有完成,明年它可能会增加2-3倍,所以它可能会更糟。

由于这些问题,我决定将它从Vue CLI迁移到Vite。我已经解决了很多问题,这个应用程序现在似乎与Vite一起工作,而且加载时间要好得多。

但是,当我启动一个dev服务器(vite命令)并在浏览器中打开它时,它有时会被卡住。页面继续加载,我可以在Chrome DevTools的“网络”选项卡中看到许多挂起的请求。vite --debug的输出没有什么特别之处,运行vite --force也无济于事。

当出现这个问题时,浏览器总是会加载大量的模块(~900),然后就会卡在10-20个模块上。所有这些HTTP请求的状态都是简单的Pending,它们永远不会完成。浏览器或命令行中没有错误。

我不认为任何特定的文件会导致这种情况。也许问题是在我的深嵌套文件夹结构中,在每个级别上使用index.ts文件进行大量再导出。它主要被困在我自己的模块上,但我也看到了它等待某个外部库模块的情况。

有没有人遇到过类似的问题?你是怎么解决的?

编辑:我发现这个问题只发生在基于Chrome的浏览器中(Google,Brave等)在Linux上。它在MacOS和Windows以及其他浏览器(火狐、GNOME等)上运行时没有任何问题。在Linux上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-22 08:12:24

多亏了这句话,我才意识到这是文件描述符限制的问题。

在Manjaro (基于Arch的)上,我能够通过在/etc/systemd/system.conf/etc/systemd/user.conf文件中添加以下行来解决这个问题:

代码语言:javascript
复制
DefaultLimitNOFILE=65536

在进行此更改之后,Vite在所有浏览器中都可以正常工作,没有任何问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69481783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档