Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js NextJS和KeystoneJS网站无法获取GraphQL数据(错误:没有名为';public';的可执行架构可用)_Node.js_Graphql_Next.js_Keystonejs - Fatal编程技术网

Node.js NextJS和KeystoneJS网站无法获取GraphQL数据(错误:没有名为';public';的可执行架构可用)

Node.js NextJS和KeystoneJS网站无法获取GraphQL数据(错误:没有名为';public';的可执行架构可用),node.js,graphql,next.js,keystonejs,Node.js,Graphql,Next.js,Keystonejs,我目前正在制作一个以KeystoneJS为CMS的NextJS网站。我找不到任何关于如何正确设置的好指南,所以我刚刚加入。我目前遇到的一个问题是无法从GraphQL请求数据。我可以在操场上做,但不能在nextjs页面上做 我尝试过以下方法: Axios=>未找到模块:无法解析“异步挂钩” fetchAPI=>未找到模块:无法解析“异步挂钩” getItems=>错误:没有名为“public”的可执行架构可用。您是否设置了“@keystonejs/app graphql”? 我非常确定我应该使用g

我目前正在制作一个以KeystoneJS为CMS的NextJS网站。我找不到任何关于如何正确设置的好指南,所以我刚刚加入。我目前遇到的一个问题是无法从GraphQL请求数据。我可以在操场上做,但不能在nextjs页面上做

我尝试过以下方法:

Axios=>
未找到模块:无法解析“异步挂钩”

fetchAPI=>
未找到模块:无法解析“异步挂钩”

getItems=>
错误:没有名为“public”的可执行架构可用。您是否设置了“@keystonejs/app graphql”?

我非常确定我应该使用
getItems
,因为它是从
@/keystonejs/server-side-graphql-client
导入的。但是我不确定我是否正确设置了它

我当前的项目设置是安装KeystoneJS-Blank模板。然后我根据安装指南手动安装了NextJS。我的模块导出如下所示:

module.exports = {
    keystone,
    apps: [
        new GraphQLApp(),
        new AdminUIApp({
            name: PROJECT_NAME,
            enableDefaultRoute: false,
            authStrategy,
            isAccessAllowed: isAdmin,
        })
    ],
};
这是我的
getItems
请求:

export async function getStaticProps() {
    const posts = await getItems({
        keystone,
        listKey: 'Post',
        returnFields: 'name'
    });
    console.log(posts);
    return {
        props: {
            posts,
        },
    }
};

可能是相关的:?我发现这是一个棘手的错误。在@juliomalves提到的我的例子中,问题是我设置了一个单独的Express实例,但我记得有几次遇到相同的错误消息。您正在使用初学者项目吗?如果是这样,我们是否值得将index.js的全部内容添加到您的问题中?否则,看起来您正在处理服务器端查询,而您可能希望从下一个应用程序直接向
localhost:3000/admin/api
进行graphQL查询。我做了同样的事情,最终构建了一大堆不必要的“REST”样式的端点。您可以按照以下方法从应用程序中获取身份验证密钥:。然后,它只是一个向
localhost:3000/admin/api
提交graphQL查询的例子,就像您在操场上一样