在 React 中注册一个服务工作线程



我们的服务器设置如下,使用react,graphql,mongo和express:

public  
  index.html  
  service.js  
src  
  assets  
  client (has 2 client side js files)  
  components (for react)  
    game.jsx  
  server (graphql server)  
    server.js

我需要注册一个服务工作者,以便我可以向玩家发送推送通知;调用来自game.jsx(当我希望注册serviceWorker 时加载的那个(:

const swreg = await navigator.serviceworker.register('service.js');

这会导致 get 请求 ourURL.com/service.js(因此我在公共下有服务.js,因为那是它服务的地方(

这很好,很花花公子,但是我在服务中不断收到导入错误.js:

Uncaught SyntaxError: Unexpected token {

这是服务中的违规代码.js:

import { saveSubscription } from "src/queries/queries";

其中 saveSubscription 是一个 graphql 突变调用,在 src/queries/queries.js 中定义。

尝试了其他形式的导入,但它们给了我某种语法错误。谷歌搜索告诉我,我需要一个type="module"标签,这显然不适用于这种情况。
如何解决这个问题?谢谢!

我修复了它...有点。

我删除了导入行,而是在函数中使用了提取。

fetch(url, {
  method: "POST", // get can't have body
  'Content-Type': 'application/graphql',
  body: JSON.stringify({graphQLQuery})
});

相关内容

最新更新