Gatsby - GraphQL - StaticQuery 标签 - 由于查询字符串的奇怪行为,站点无法编译
Gatsby - GraphQL - StaticQuery tag - site fails to compile due to strange behavior with query string
我正在尝试对我的 gatsby 网站的 wordpress 数据库执行一个简单的 GraphQL 查询并呈现结果。但是,该站点无法编译并出现一些令人费解的错误。
如果我在多行字符串中进行查询(graphql 查询的标准),错误提示我留下了一个未终止的字符串。如果我将查询放在单行字符串中,我会收到一个新错误,它需要一个右大括号而不是字符串。
我的多行查询字符串文件:
import React from "react"
import { Link } from "gatsby"
import Layout from "../components/layout"
import Image from "../components/image"
import SEO from "../components/seo"
import { StaticQuery, GraphQL } from "gatsby"
const IndexPage = () => (
<Layout>
<StaticQuery
query={GraphQL'
{
allWordpressPage {
edges {
node {
id
title
content
}
}
}
}' render={props => (
<div>
{props.allWordpressPage.edges.map(page => (
<div key={page.node.id}>
<h1>
{page.node.title}
</h1>
<div dangerouslySetInnerHTML={{__html: page.node.content}} />
</div>
))}
</div>
)} />
</Layout>
)
export default IndexPage
随之而来的错误:
ERROR in ./src/pages/index.js
Module build failed (from ./node_modules/gatsby/dist/utils/babel-loader.js):
SyntaxError: /Users/kennansmith/Desktop/Temp_Task_Folder/gatsby-wp/src/pages/index.js: Unterminated string constant (12:20)
10 | <Layout>
11 | <StaticQuery
> 12 | query={GraphQL'
| ^
13 | query {
14 | allWordpressPage {
15 | edges {
解决字符串问题时我的文件:
import React from "react"
import { Link } from "gatsby"
import Layout from "../components/layout"
import Image from "../components/image"
import SEO from "../components/seo"
import { StaticQuery, GraphQL } from "gatsby"
const IndexPage = () => (
<Layout>
<StaticQuery
query={GraphQL'{ allWordpressPage { edges { node { id title content } } } }' render={props => (
<div>
{props.allWordpressPage.edges.map(page => (
<div key={page.node.id}>
<h1>
{page.node.title}
</h1>
<div dangerouslySetInnerHTML={{__html: page.node.content}} />
</div>
))}
</div>
)} />
</Layout>
)
export default IndexPage
随之而来的错误:
ERROR in ./src/pages/index.js
Module build failed (from ./node_modules/gatsby/dist/utils/babel-loader.js):
SyntaxError: /Users/kennansmith/Desktop/Temp_Task_Folder/gatsby-wp/src/pages/index.js: Unexpected token, expected "}" (12:20)
10 | <Layout>
11 | <StaticQuery
> 12 | query={GraphQL'{ allWordpressPage { edges { node { id title content } } } }' render={props => (
| ^
13 | <div>
14 | {props.allWordpressPage.edges.map(page => (
15 | <div key={page.node.id}>
我认为你使用坏角色来做你的graphql query
。尝试将 '
替换为 ` 字符 ?
从包中导入是区分大小写的。
尝试:
import { graphql } from "gatsby"
我正在尝试对我的 gatsby 网站的 wordpress 数据库执行一个简单的 GraphQL 查询并呈现结果。但是,该站点无法编译并出现一些令人费解的错误。
如果我在多行字符串中进行查询(graphql 查询的标准),错误提示我留下了一个未终止的字符串。如果我将查询放在单行字符串中,我会收到一个新错误,它需要一个右大括号而不是字符串。
我的多行查询字符串文件:
import React from "react"
import { Link } from "gatsby"
import Layout from "../components/layout"
import Image from "../components/image"
import SEO from "../components/seo"
import { StaticQuery, GraphQL } from "gatsby"
const IndexPage = () => (
<Layout>
<StaticQuery
query={GraphQL'
{
allWordpressPage {
edges {
node {
id
title
content
}
}
}
}' render={props => (
<div>
{props.allWordpressPage.edges.map(page => (
<div key={page.node.id}>
<h1>
{page.node.title}
</h1>
<div dangerouslySetInnerHTML={{__html: page.node.content}} />
</div>
))}
</div>
)} />
</Layout>
)
export default IndexPage
随之而来的错误:
ERROR in ./src/pages/index.js
Module build failed (from ./node_modules/gatsby/dist/utils/babel-loader.js):
SyntaxError: /Users/kennansmith/Desktop/Temp_Task_Folder/gatsby-wp/src/pages/index.js: Unterminated string constant (12:20)
10 | <Layout>
11 | <StaticQuery
> 12 | query={GraphQL'
| ^
13 | query {
14 | allWordpressPage {
15 | edges {
解决字符串问题时我的文件:
import React from "react"
import { Link } from "gatsby"
import Layout from "../components/layout"
import Image from "../components/image"
import SEO from "../components/seo"
import { StaticQuery, GraphQL } from "gatsby"
const IndexPage = () => (
<Layout>
<StaticQuery
query={GraphQL'{ allWordpressPage { edges { node { id title content } } } }' render={props => (
<div>
{props.allWordpressPage.edges.map(page => (
<div key={page.node.id}>
<h1>
{page.node.title}
</h1>
<div dangerouslySetInnerHTML={{__html: page.node.content}} />
</div>
))}
</div>
)} />
</Layout>
)
export default IndexPage
随之而来的错误:
ERROR in ./src/pages/index.js
Module build failed (from ./node_modules/gatsby/dist/utils/babel-loader.js):
SyntaxError: /Users/kennansmith/Desktop/Temp_Task_Folder/gatsby-wp/src/pages/index.js: Unexpected token, expected "}" (12:20)
10 | <Layout>
11 | <StaticQuery
> 12 | query={GraphQL'{ allWordpressPage { edges { node { id title content } } } }' render={props => (
| ^
13 | <div>
14 | {props.allWordpressPage.edges.map(page => (
15 | <div key={page.node.id}>
我认为你使用坏角色来做你的graphql query
。尝试将 '
替换为 ` 字符 ?
从包中导入是区分大小写的。
尝试:
import { graphql } from "gatsby"