我们的服务器设置如下,使用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})
});