注册服务人员以做出反应

时间:2019-03-31 23:21:17

标签: javascript reactjs express graphql service-worker

我们的服务器使用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');

这会导致对ourURL.com/service.js的获取请求(因此,为什么将service.js设置在公共位置,因为它是在这里提供的)

这很好,但我随后在service.js中不断出现导入错误:

Uncaught SyntaxError: Unexpected token {

这是service.js中有问题的代码:

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

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

我尝试了其他形式的导入,但是它们给了我某种语法错误。 Googling告诉我,我需要一个type =“ module”标签,该标签显然不适用于这种情况。
我怎么解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

我修复了它。。。

我删除了导入行,而是在函数内使用了访存。

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