Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何提高Sapper中灯塔得分的交互时间_Javascript_Performance_Svelte_Lighthouse_Sapper - Fatal编程技术网

Javascript 如何提高Sapper中灯塔得分的交互时间

Javascript 如何提高Sapper中灯塔得分的交互时间,javascript,performance,svelte,lighthouse,sapper,Javascript,Performance,Svelte,Lighthouse,Sapper,目前,我们的网站在使用sapper和svelte构建时的性能分数非常低。这有点奇怪,因为它的卖点是速度惊人。所以我的问题是我是否犯了可怕的错误。问题似乎到了互动的时候了。它非常慢,超过9秒。有没有办法提高这一点?my_layout.svelte的基本结构如下所示: <main class="hyphenate"> <Header /> <div class="content-main"> <slot

目前,我们的网站在使用sapper和svelte构建时的性能分数非常低。这有点奇怪,因为它的卖点是速度惊人。所以我的问题是我是否犯了可怕的错误。问题似乎到了互动的时候了。它非常慢,超过9秒。有没有办法提高这一点?my_layout.svelte的基本结构如下所示:

<main class="hyphenate">
  <Header />
  <div class="content-main">
    <slot />

    {#if showModal}
      <ConsentModal
        close={() => (showModal = false)} />
    {/if}
  </div>
  <Footer />
  <div class="sponsoring">
    <div class="sponsoring-images">
      <a target="_blank"  class="logo">
        <Image width={150} alt="Cispa Logo" />
      </a>
      <a target="_blank"  class="logo">
          <Image />
      </a>
      <p>partner text</p>
    </div>
  </div>
</main>

{#如果显示模式}
(showModal=false)}/>
{/if}


正如你所见,应用程序空闲的时间很长。这能被调整吗?我非常感谢任何指向正确方向的指针。

继续我们在上述评论中的讨论

这项公关绝对有助于: 现在有点旧了,所以我不确定什么时候合并

我建议您查看一下安装服务工作者时缓存的文件。您可能会发现它们不适合您的应用程序。如果您使用的是标准模板,您可以在此处找到文件列表:src/node_modules/@sapper/service-worker.js。请注意,尽管文件名是通用的,但它与src/service-worker.js不同


老实说,你仅仅解雇服务人员的方法可能适合你。目前,由于以下问题,服务人员无法为这些预缓存的资产提供服务:。因此,一种替代方法是删除预编译逻辑。这样,您就可以获得服务人员的所有好处,而不会遇到您一直看到的问题。服务人员只会使用网络或缓存策略,因此如果用户脱机,请求将被延迟缓存和使用。

考虑提出一个问题。我看到了类似的结果。有一些类似的问题尚未解决,但没有具体涉及互动时间。这一个可能是相关的:尝试运行在隐姓埋名模式灯塔。就我而言,我的扩展对结果产生了负面影响。互动时间从8.3秒增加到2.6秒。我在新安装的chrome上使用了它,因为firefox是我的默认浏览器。所以这不应该是一个问题。我还使用export命令获取资产,因此在这种情况下,不应该有服务人员,或者?我认为这仍然是一个问题。默认情况下,服务工作者主动缓存捆绑程序创建的所有文件以及静态目录中的所有文件。这包括静态目录中从未使用过的任何文件。我发现这段视频是由一个有相关问题的人拍摄的:@VivekSingh我想你没抓住重点。sapper服务工作者在加载页面之前发出大量额外的HTTP GET请求。默认情况下,它获取所有静态资产,并阻止页面加载。这种行为很容易观察到。更改或删除service worker可以解决此问题。我只有一个sapper文件夹而不是@sapper文件夹,并且它不包含service-worker.js文件。此函数中的预处理逻辑是src文件夹中service-worker.js中的self.addEventListener(“fetch”
)?预处理逻辑是“install”事件处理程序中的这一行:
。然后(cache=>cache.addAll(to_cache))
。src/node_modules/@sapper目录是作为构建的一部分创建的。它用于中间构建工件。它在此处配置:。如果运行“npm run build”,它应该出现,除非您的构建覆盖了默认值。嗯,我使用了模板,所以不应该发生这种情况。