首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何配置Laravel灯塔为GraphQL提供服务器端呈现?

如何配置Laravel灯塔为GraphQL提供服务器端呈现?
EN

Stack Overflow用户
提问于 2020-09-20 15:49:35
回答 1查看 382关注 0票数 0

我使用阿波罗客户端作为我的反应前端,以便能够使用由GraphQL托管的拉勒维尔灯塔

正常使用情况可以工作,但我现在发现自己面临某些情况,在这些情况下,我希望在初始页面请求中预取一个GraphQL结果,而不是让浏览器加载页面,然后发送一个单独的ajax查询。

我看到阿波罗客户既支持“存储再水化”,也支持“服务器端呈现”,但我还没有在灯塔中找到任何关于如何做到这一点的文档。

我认为我的叶片视图应该包含这样的内容:

代码语言:javascript
运行
复制
<script>        
    window.__APOLLO_STATE__ = '{!!$postsGqlResultJson ?? "null" !!}'; // https://www.apollographql.com/docs/react/performance/server-side-rendering/
</script>

那么问题是:如何生成$postsGqlResultJson**?**

更新:

假设我在前排:

代码语言:javascript
运行
复制
const POSTS = gql`
    query Posts($first: Int, $page: Int) {
        posts(first: $first, page: $page, orderBy: { field: CREATED_AT, order: DESC }) {
            paginatorInfo {
                currentPage
                hasMorePages
                total
            }
            data {
                id
                ...
            }
     }
`;
const options = {
  variables: {
        first: 100,
        page: 1,
    }
};
const { loading, error, data } = useQuery(query, options);

我认为灯塔可能提供某种类似于useQuery的PHP函数,在这里我可以以某种方式提供相同的参数( POSTS、GQL和options对象),并且它将返回结果数据的JSON字符串,嵌套在gql中。

我是不是误会了?我真的很感激你的帮助。:-)

EN

回答 1

Stack Overflow用户

发布于 2020-09-20 17:36:27

您描述的阿波罗客户端功能看起来像是前端的关注点,并假设您正在从Node.js服务器为您的前端服务。

在灯塔这里没有什么特别的事情要做--从它的角度来看,查询是作为服务器端呈现的一部分发送的,还是从客户端发送并不重要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63980847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档