我在流星应用程序中启用了appcachehttp://docs.meteor.com/#/full/appcache)。

但是服务器控制台说我缓存的资源的总大小为10.2MB。

从文档中,我看到我不得不排除一些文件,因为它们太大了

Meteor.AppCache.config({
  onlineOnly: [
    '/bigimage.jpg',
    '/largedata.json'
  ]
});


问题是我不知道哪些文件太大。我会尽可能地拆分文件,并且由于样式表和javascript文件已缩小,因此我认为它们不会占用太多资源。

我的应用程序中根本没有任何图像或其他特殊文件。它是纯js和html(甚至没有CSS)。

编辑

我尝试检查chrome://appcache-internals/从中获得以下详细信息

http://localhost:3000/
Manifest: http://localhost:3000/app.manifest
Size: 10.3 MB
Creation Time: Thu Oct 22 2015 08:51:07 GMT+0200 (Romance Daylight Time)
Last Access Time: Thu Oct 22 2015 10:16:37 GMT+0200 (Romance Daylight Time)
Last Update Time: Thu Oct 22 2015 10:16:36 GMT+0200 (Romance Daylight Time)
Remove Item View Details


单击View Details时,会得到一长串正在缓存的文件。

这些javascript文件大于1MB:

http://localhost:3000/packages/aldeed_autoform.js?019cba9c67d18d17c34ea48a455d8956ded05487 1.1 MB Explicit
http://localhost:3000/packages/aldeed_tabular.js?b5a33bda4b2c2ddbf08d97504162570faea3b826 1.9 MB Explicit
http://localhost:3000/packages/jquery.js?1015953f785c9b76503e2ecb391507dce965f357 1.2 MB Explicit


但是它们都是外部库,所以我不知道该怎么办。难道不应该缩小所有JS文件吗?

我有

standard-minifiers          # JS/CSS minifiers run for production mode


在我的packages中;但是,我不确定它们是否在本地主机上未最小化,但是在上传到服务器时是否最小化了?

最佳答案

流星在开发模式下发送所有这些客户端javascript和css文件(包括来自第三方软件包的文件),最终占用大量空间,因此来自appcache软件包的误导性警告。

但是在生产模式下,以及随着部署构建的进行而更好的是,这些被串联,缩小和压缩。

因此,为了真正知道客户端大小的缓存将变为什么,您应该执行meteor build并检查实际生产文件的大小。

您会惊讶地发现它只是开发版本的一小部分。

但是,请注意图像等静态资产!

关于javascript - 在Meteor应用中使用appcache,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33275058/

10-09 21:25