Gatsby源WordPress在构建中出现ACF空字段错误,但在开发中没有
下面的示例使用一个对象,该对象包含来自使用Gatsby和WPGraphQL的ACF Repeater字段查询的数据 在盖茨比开发中工作,但不在盖茨比构建中工作:Gatsby源WordPress在构建中出现ACF空字段错误,但在开发中没有,wordpress,build,gatsby,advanced-custom-fields,Wordpress,Build,Gatsby,Advanced Custom Fields,下面的示例使用一个对象,该对象包含来自使用Gatsby和WPGraphQL的ACF Repeater字段查询的数据 在盖茨比开发中工作,但不在盖茨比构建中工作: const IndexPage = ({data}) => { //this ACF text field works in both build and development: console.log(data.wpPage.homepagefields.contact.line1) //this fails
const IndexPage = ({data}) => {
//this ACF text field works in both build and development:
console.log(data.wpPage.homepagefields.contact.line1)
//this fails in build only
console.log(data.wpPage.homepagefields.brands[0].logo.localFile.childImageSharp.fluid.src)
console.log(data.wpPage.homepagefields.services[0])
useEffect(()=>{
}, [])`
return (
<main className={classes.homepage}>
<div className={classes.homepage__container}>
<h1 style={{color:"white"}}>{data.wpPage.homepagefields.contact.line1}</h1>
<img src={data.wpPage.homepagefields.brands[0].logo.localFile.childImageSharp.fluid.src}></img>
</div>
</main>
)
我尝试移动console.log错误
适用于盖茨比开发,但不适用于盖茨比构建:
const IndexPage = ({data}) => {
//this ACF text field works in both build and development:
console.log(data.wpPage.homepagefields.contact.line1)
//this fails in build only
console.log(data.wpPage.homepagefields.brands[0].logo.localFile.childImageSharp.fluid.src)
console.log(data.wpPage.homepagefields.services[0])
useEffect(()=>{
}, [])`
return (
<main className={classes.homepage}>
<div className={classes.homepage__container}>
<h1 style={{color:"white"}}>{data.wpPage.homepagefields.contact.line1}</h1>
<img src={data.wpPage.homepagefields.brands[0].logo.localFile.childImageSharp.fluid.src}></img>
</div>
</main>
)
尝试访问return()中的这些属性时,会出现相同的生成错误(brands解析为null):
const IndexPage = ({data}) => {
//this ACF text field works in both build and development:
console.log(data.wpPage.homepagefields.contact.line1)
//this fails in build only
console.log(data.wpPage.homepagefields.brands[0].logo.localFile.childImageSharp.fluid.src)
console.log(data.wpPage.homepagefields.services[0])
useEffect(()=>{
}, [])`
return (
<main className={classes.homepage}>
<div className={classes.homepage__container}>
<h1 style={{color:"white"}}>{data.wpPage.homepagefields.contact.line1}</h1>
<img src={data.wpPage.homepagefields.brands[0].logo.localFile.childImageSharp.fluid.src}></img>
</div>
</main>
)
返回(
{data.wpPage.homepagefields.contact.line1}
)
盖茨比构建错误:
const IndexPage = ({data}) => {
//this ACF text field works in both build and development:
console.log(data.wpPage.homepagefields.contact.line1)
//this fails in build only
console.log(data.wpPage.homepagefields.brands[0].logo.localFile.childImageSharp.fluid.src)
console.log(data.wpPage.homepagefields.services[0])
useEffect(()=>{
}, [])`
return (
<main className={classes.homepage}>
<div className={classes.homepage__container}>
<h1 style={{color:"white"}}>{data.wpPage.homepagefields.contact.line1}</h1>
<img src={data.wpPage.homepagefields.brands[0].logo.localFile.childImageSharp.fluid.src}></img>
</div>
</main>
)
也许我在生命周期中遗漏了一些东西,但在安装组件之前中继器数据不可用对我来说没有意义
有人在这里经历过相同/相似的经历吗?找到了罪魁祸首,在重新安装/更新所有gatsby plugis后,我发现我的另一个页面没有任何与之相关的自定义字段 我从未在开发模式下加载该页面,因此我没有得到错误
请注意,制作一个特定于主页的模板。
品牌
它始终为空?甚至在网站上前后移动?就是这样,我没有意识到我还有一个多余的页面:/谢谢你让我回忆起来