Graphql Sapper:setClient()正在抛出;函数名为“外部组件初始化”;

Graphql Sapper:setClient()正在抛出;函数名为“外部组件初始化”;,graphql,svelte,sapper,Graphql,Svelte,Sapper,我试图通过在_layout.svelte和setClient中声明一个新的apollo客户端,在sapper中使用apollo boost和svelte apollo实现graphql。声明Apollo客户端工作正常,但对于setClient,它认为: 错误:函数调用了外部组件初始化 这里是my_layout.svelte中的脚本标记 <script> import Nav from '../components/Nav.svelte'; export let seg

我试图通过在_layout.svelte和setClient中声明一个新的apollo客户端,在sapper中使用apollo boost和svelte apollo实现graphql。声明Apollo客户端工作正常,但对于setClient,它认为:

错误:函数调用了外部组件初始化

这里是my_layout.svelte中的脚本标记

<script>
    import Nav from '../components/Nav.svelte';
    export let segment;

    import fetch from 'node-fetch'
    import ApolloClient from "apollo-boost";
    import { setClient } from "svelte-apollo";

    const client = new ApolloClient({
        uri: "http://localhost:1337/graphql",
        fetch: fetch,

        onError: ({ networkError, graphQLErrors }) => {
            console.log("graphQLErrors", graphQLErrors);
            console.log("networkError", networkError);
        },
    })

    setClient(client)

</script>

从“../components/Nav.svelte”导入导航;
出口部分;
从“节点获取”导入获取
从“apollo boost”导入apollo客户端;
从“svelte apollo”导入{setClient};
const客户端=新客户端({
uri:“http://localhost:1337/graphql",
取:取,
onError:({networkError,graphQLErrors})=>{
log(“graphQLErrors”,graphQLErrors);
log(“networkError”,networkError);
},
})
设置客户端(客户端)

我自己找到了答案,至少苗条的阿波罗应该是一个德夫德潘登西。我也制作了apollo boost和graphql devDependencies,但我不知道是否有必要

您需要在预加载功能中加载它-那么它将如何在生产中运行?!