Javascript 如何减少手机设备(iOS等)上HTML5游戏的下载?

Javascript 如何减少手机设备(iOS等)上HTML5游戏的下载?,javascript,html,Javascript,Html,我有一个一直在开发的HTML5游戏,它使用了两个JavaScript库,它们的组合(缩小)大约为1.5mb,拥有大约1.5mb的资源(3D模型和PNG纹理)。 我的实际游戏代码在上面增加了区区50kb。 总而言之,它有点超过3mb 我有两个问题: 虽然我正在开发和测试主要的第三方库,但游戏资产并没有改变。只有50kb左右的游戏逻辑在改变。 我可以在移动设备上测试(在我的iPhone中是Safari)并将所有库和资源加载一次,然后只下载修改后的游戏逻辑文件吗 如果我与朋友共享URL,他们是否会在每

我有一个一直在开发的HTML5游戏,它使用了两个JavaScript库,它们的组合(缩小)大约为1.5mb,拥有大约1.5mb的资源(3D模型和PNG纹理)。 我的实际游戏代码在上面增加了区区50kb。 总而言之,它有点超过3mb

我有两个问题:

  • 虽然我正在开发和测试主要的第三方库,但游戏资产并没有改变。只有50kb左右的游戏逻辑在改变。 我可以在移动设备上测试(在我的iPhone中是Safari)并将所有库和资源加载一次,然后只下载修改后的游戏逻辑文件吗

  • 如果我与朋友共享URL,他们是否会在每次重新加载页面时被迫下载全部内容

  • 我想底线是,如果有的话,有哪些缓存选项可以避免静态(不变)库/资产的不断重新加载

    感谢您的帮助/建议

    谢谢

    马丁
  • JavaScript库——如果它是一个流行的库,那么从CDN加载它们会更有效,因为浏览器更可能从其他站点缓存它
  • 您可以将代码拆分为两个minify/uglify文件,对于不太可能更改的文件,请在服务器中添加Expires或Cache Control标头:
  • 使用Gzip(您也可以在上面的链接中找到它),这将减少响应文件的大小
  • 您可以添加一个与缓存接口相结合的服务工作者(并非所有浏览器都支持服务工作者)来缓存JS文件,包括资产(例如图像):

  • 非常感谢您的快速回复。在发表这篇文章之后,我还遇到了应用程序缓存/清单文件。这是有用的还是不推荐的?应用程序缓存已弃用:。我不认为单凭清单文件就可以帮助您解决缓存问题,但添加清单文件是一个好主意,用户可以在主屏幕上使用该应用程序,而不使用移动状态标题。谢谢您的建议。值得思考的好东西。非常感谢。