Execjs :: RuntimeError:SyntaxError:意外令牌:名称(catch)(行:41,COL:8



我正在尝试使用ServiceWorker Gem将服务工作者添加到我的Rails应用程序中。

我一直在遵循本指南https://rossta.net/blog/offline-page-for-your-rails-application.html,并开始收到标题中列出的错误。

我已经审查了其他问题,但大多数是由于语法错误。当这篇文章的栏目5 heroku部署错误:execjs :: programError:syntaxerror:意外令牌:name(AutoreGisterNamespace)

我的错误是由于通过ServiceWorker Gem文件提供的令牌名称(catch)。

这是我的代码发生错误...

 function onFetch(event) {
   // Fetch from network, fallback to cached content, then offline.html for same-origin GET requests
   var request = event.request;
   if (!request.url.match(/^https?://example.com/) ) { return; }
   if (request.method !== 'GET') { return; }
   event.respondWith(
     fetch(request).                                       // first, the network
        .catch(function fallback() {
          caches.match(request).then(function(response) {  // then, the cache
            response || caches.match("/offline.html.erb");     // then, /offline cache
          })
        })
    );

我知道错误是在.catch上,我只是不确定如何解决问题。

任何帮助都非常感谢!

语法错误,带有两个点。线路休息有时会很难注意到。

 event.respondWith(
 fetch(request).    // Dot here and then...
    .catch(function fallback() { // ... the one at beginning of line as well causes the issue...
      caches.match(request).then(function(response) {  // then, the cache
        response || caches.match("/offline.html.erb");     // then, /offline cache
      })
    })
);

应该是

 event.respondWith(
 fetch(request)                                     // remove dot 
    .catch(function fallback() {
      caches.match(request).then(function(response) {  // then, the cache
        response || caches.match("/offline.html.erb");     // then, /offline cache
      })
    })
);

相关内容

  • 没有找到相关文章

最新更新