小编B. *_* B.的帖子

服务工作者无法在具有节点js服务器的脱机模式下工作

  • 我正在尝试使用脱机第一个策略构建PWA.
    • 源文件的服务器NodeJS服务器.
    • 我目前正在localhost节点服务器上测试它(不确定它有影响吗?).
    • 服务工作者+缓存似乎很好,但在离线模式下我只能获得Chrome离线页面.

让我们进入细节:

提供的页面(通过http:// localhost:8080/place/test url)有一些客户端JS,我在其中注册一个Service Worker:

client.js

    if ('serviceWorker' in navigator) {
        navigator.serviceWorker
                 .register(rootPath+'/js/service-worker.js')
                 .then(function() { console.log('Service Worker Registered'); });
    }
Run Code Online (Sandbox Code Playgroud)

service-worker.js(基于Google PWA教程)

var cacheName = 'myCacheVersion';
var filesToCache = [
    '../',
    '../place/test',
    '../js/client.js',
    '../js/service-worker.js',
    "../css/style.css"
];


self.addEventListener('install', function(e) {
  console.log('[ServiceWorker] Install');
  e.waitUntil(
    caches.open(cacheName).then(function(cache) {
      console.log('[ServiceWorker] Caching app shell');
      return cache.addAll(filesToCache);
    })
  );
});

self.addEventListener('activate', function(e) {
  console.log('[ServiceWorker] Activate');
  e.waitUntil(
    caches.keys().then(function(keyList) {
      return Promise.all(keyList.map(function(key) { …
Run Code Online (Sandbox Code Playgroud)

javascript localhost node.js service-worker progressive-web-apps

6
推荐指数
1
解决办法
5484
查看次数