gpt4 book ai didi

javascript - 加速 Meteor.js 中的自动重新加载

转载 作者:IT老高 更新时间:2023-10-28 23:08:29 25 4
gpt4 key购买 nike

在 Meteor.js 中保存包含新更改的文件后,服​​务器将重新启动,浏览器将重新加载窗口。

问题:有时在保存文件后重新加载需要比平时更长的时间,这似乎是随机的。有没有办法更快地触发自动重新加载?

似乎服务器重新启动很快,但浏览器重新加载要慢得多。

Meteor 服务器重新启动后,网页在 30 秒内无响应,并且“网络”选项卡显示 websocket 待处理...

我在 Mac OSX 上的 Node.js v0.10.22 上使用 Meteor 0.7.0.1 和 Meteorite 0.6.16,连接到远程 MongoDB 服务器。

enter image description here

最佳答案

如果您的项目很大,自动重新加载需要时间。 Meteor 基本上必须重新构建 javascript 了。有很多事情会影响所需的时间。

它的一些基础知识是:

  • 项目越大,js 文件/包越多,所需的时间就越长
  • 如果您禁用了 websocket,服务器似乎需要更长的时间才能重新启动
  • 如果您使用 --production 作为标志,则重建将花费更长的时间,但在浏览器中加载速度会更快
  • 如果您通过 cdn 使用外部 css/字体和其他东西,有时重新下载这些文件可能需要更长的时间,这取决于您的连接。尝试在 chrome 开发者控制台中检查您的网络选项卡,看看是否有任何特定文件需要一段时间,然后暂时将其托管在本地。
  • 如果您在错误后重新加载热代码,则可能会因为 meteor 尝试从错误中恢复而稍有延迟。

还有其他一些事情。如果您使用带有 --release 标志的 Meteor UI,则某些构建会出现内存泄漏,并且随着热代码重新加载的次数越来越多,速度会越来越慢。

如果您在 Windows 上进行开发,那么热代码重新加载会出现一些问题。 Windows 上的 Meteor 是非官方的,有时您必须按 ctrl+c 并重新启动它才能更快地启动。

除了增强您的计算机或将运行在 Meteor.startup 中的东西移动到一个 cron 作业中之外,您无法做很多事情来加速它。每次热代码重新加载都会重做 Meteor.startup 中的任务。

热代码重载最困扰我的是通过 @import css 语句从 Google 字体获取的字体。有时谷歌不会很快地提供字体,尤其是当我不断重新加载它们时。我暂时禁用它们/在本地托管它们。我不在生产中本地托管,因为不同的浏览器有时会在 Windows 上提供模糊字体。

关于javascript - 加速 Meteor.js 中的自动重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20861880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com