http-server net服务于新鲜的js文件

问题描述 投票:0回答:1

我之前没有使用过http-server npm模块!

我刚刚开始使用服务工作者通过使用this blog as a source创建示例应用程序

在此,作者使用http-server来演示服务工作者!

在博客中,我复制了代码段以检查是否支持chrome

const check = () => {
    if (!('serviceWorker' in navigator)) {
      throw new Error('No Service Worker support!')
    }
    if (!('PushManager' in window)) {
      throw new Error('No Push API Support!')
    }
    console.log('Everything works fine')
  }
  const main = () => {
    check()
  }
  main()

注意console.log('Everything works fine')

现在,当我继续撰写文章时,我按照指示改变了我的main.js

const check = () => {
    if (!('serviceWorker' in navigator)) {
      throw new Error('No Service Worker support!')
    }
    if (!('PushManager' in window)) {
      throw new Error('No Push API Support!')
    }
    console.log(`Browser supports Pushmanager and Service worker`)
  }

  // Async so we can use await 
  const  main = async () => {
    check()
    const swRegistration = await registerServiceWorker();
  }


  //To run service worker we need to first register service worker 
  //Registering Service Worker
  const registerServiceWorker = async () => {
    const swRegistration = await navigator.serviceWorker.register('service.js'); //notice the file name
    return swRegistration;
}

但是当我进入页面时,它会从控制台中的第一个代码片段中记录下来

Everything works fine

我检查了main.js,看起来服务器仍在服务以前的main.js而不是新的。

如果我手动转到我的文件并在没有服务器的情况下打开它,main.js会显示我的新代码更改。

我试过转动服务器(使用ctrl / cmd + c)并重新启动它但没有帮助。

有人可以帮我解决这个问题吗?

javascript httpserver
1个回答
1
投票

看起来像http-server告诉浏览器cache pages for an hour by default

-c设置缓存控制max-age头的缓存时间(以秒为单位),例如-c10持续10秒(默认为'3600')。要禁用缓存,请使用-c-1。

使用http-server -c-1重新启动服务器,然后在浏览器中进行硬刷新(在Firefox或Chrome中按Ctrl / Cmd + Shift + R)。

© www.soinside.com 2019 - 2024. All rights reserved.