http-server net 提供新鲜的 js 文件
http-server net serving the fresh js file
我之前没有用过http-server npm模块!
我刚刚开始使用 Service Worker,方法是使用 this blog as a source
创建示例应用程序
本文作者使用了http-server来演示service worker!
从博客中,我复制了代码片段以检查是否支持 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)并重新启动它,但没有帮助。
有人可以帮我解决吗?
看起来 http-server
告诉浏览器 cache pages for an hour by default:
-c
Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1.
使用 http-server -c-1
重新启动服务器,然后在浏览器中进行硬刷新(Ctrl/Cmd+Shift+R 在 Firefox 中或 Chrome).
我之前没有用过http-server npm模块!
我刚刚开始使用 Service Worker,方法是使用 this blog as a source
创建示例应用程序本文作者使用了http-server来演示service worker!
从博客中,我复制了代码片段以检查是否支持 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)并重新启动它,但没有帮助。
有人可以帮我解决吗?
看起来 http-server
告诉浏览器 cache pages for an hour by default:
-c
Set cache time (in seconds) for cache-control max-age header, e.g. -c10 for 10 seconds (defaults to '3600'). To disable caching, use -c-1.
使用 http-server -c-1
重新启动服务器,然后在浏览器中进行硬刷新(Ctrl/Cmd+Shift+R 在 Firefox 中或 Chrome).