Javascript 预编译脚本类型模块是否存在任何问题?

Javascript 预编译脚本类型模块是否存在任何问题?,javascript,service-worker,progressive-web-apps,Javascript,Service Worker,Progressive Web Apps,我正在处理一个PWA端项目,因此当我预先设置脚本类型模块时,浏览器无法在脱机模式下获取脚本,但当我使用另一种缓存策略时,即“在网络响应上;如果找到匹配项,则从缓存返回或添加到缓存”在脱机模式下工作正常 self.addEventListener('fetch', e => { e.respondWith( caches.open(cacheVersion) .then(cache => cache.match(e.request)

我正在处理一个PWA端项目,因此当我预先设置脚本类型模块时,浏览器无法在脱机模式下获取脚本,但当我使用另一种缓存策略时,即“在网络响应上;如果找到匹配项,则从缓存返回或添加到缓存”在脱机模式下工作正常

self.addEventListener('fetch', e => {
    e.respondWith(
        caches.open(cacheVersion)
            .then(cache => cache.match(e.request)
                .then(res => res || fetch(e.request)
                    .then(res => {
                        cache.put(e.request, res.clone());
                        return res;
                    }).catch(err => {
                        console.log('Fetch failed');
                    })
                )
            )
    );
});
当我使用以下获取策略时,浏览器无法获取脚本

e.respondWith(
        fetch(e.request)
            .catch(() => caches.match(e.request))
    );
以下是我在使用此策略时如何预先准备资产

cache.addAll([
    '/',
    '/style.css',
    '/src/app.js',
    '/src/router/index.js',
    '/src/router/Route.js',
    '/src/router/Router.js',
    '/src/views/home.js',
    '/src/views/offline.js',
    '/src/views/post.js'
]);
这些都是javascript模块文件,其中app.js是主条目文件


如果您需要查看完整的源代码,可以在下面的链接中找到

您可能会发现这很有帮助:您可能会发现这很有帮助: