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

Nyx*_*nyx 13 javascript node.js meteor meteorite

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

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

服务器似乎很快重启,但浏览器重新加载的速度要慢得多.

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

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

在此输入图像描述

Aks*_*hat 6

如果您的项目很大,自动重新加载需要时间.流星基本上必须重建javascript.有很多事情可以影响它所花费的时间.

它的一些基础是:

  • 项目越大,js文件/包越多,所需的时间就越长
  • 如果您已禁用websockets,则服务器似乎需要更长时间才能重新启动
  • 如果您将其--production用作标记,则重建需要更长时间,但在浏览器中加载速度会更快
  • 如果您通过cdn使用外部css /字体,有时可能需要更长的时间来重新下载这些文件,这取决于您的连接.尝试检查chrome开发人员控制台中的"网络"选项卡,查看是否有任何特定文件需要一段时间并暂时在本地托管.
  • 如果你在错误后重新加载hotcode,那么当meteor试图从错误中恢复时可能会有轻微的延迟.

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

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

除了加强你的计算机或将东西Meteor.startup 搬进一个cron工作之外,你还没有很多办法可以加快速度.每次热代码重新加载都会重做Meteor.startup中的任务.

使用热代码重新加载困扰我的那个是来自Google字体的字体,通过@importcss语句.有时谷歌不会很快提供字体,特别是当我不断重新加载它们时.我暂时禁用它们/在本地托管它们.我不在本地主持生产,因为不同的浏览器有时会在Windows上提供模糊字体.