Meteor 1.5动态导入,具有离线支持

时间:2017-07-24 00:05:19

标签: javascript meteor dynamic-import

我正在使用Meteor 1.5,FlowRouter和Blaze。

我一直在开发一个需要离线支持的应用程序,不幸的是它还有几个(大)应用程序区域,只有一小部分用户可用,以避免膨胀最初的JS下载内容大多数用户都不需要,我在FlowRouter.route({action})级别使用动态导入。

对于离线模式(除了处理数据等)我还使用服务工作者来缓存JS,CSS和HTML。不幸的是,因为动态导入在websocket上工作,所以在加载它们时不可能对它们进行缓存。

幸运的是,用户必须通知服务器他们离线工作的意图(因此可以下载相关的数据和文件,视频等),这样就有机会在客户端离线之前加载这些动态导入。 / p>

我有哪些缓存动态导入的选项?到目前为止我所考虑的事情:

  1. 编写一个包含静态加载的所有动态导入的简单包,并在{lazy: true}中定义package.js

    • 需要进行大量的重组
    • lazy: true表示该套餐实际上并非通过网址提供,它似乎只能作为动态导入使用。
  2. 写一个服务器端" fetcher"将包名称作为参数并提供文件系统中的内容

    • 我不知道客户端软件包是如何存储在服务器上的,以及服务器是否可以访问这些文件。
  3. 使用browserify(或类似的东西)手动生成/public中的静态js包,当客户端表明他们意图离线时可以下载

    • 非常手动,很容易错过对动态导入的更改。
  4. 之前有没有人试过这个,我知道meteor并没有正式支持服务工作者,但据我所知,除了动态导入外,它对他们起到了很好的作用

0 个答案:

没有答案