盖茨比建立路径问题

时间:2020-04-17 11:45:46

标签: reactjs wordpress path graphql gatsby

运行具有gatsby-starter-wordpress-advanced主题的gatsby构建时出现问题:

Error: ENOENT: no such file or directory, open 'C:\Users\Tobias\Desktop\Gatsby\gatsby-starter-wordpress-advanced\.template-cache\tmp-\.js'"

我认为这可能是路径问题。路径应该看起来像这样:

writing tmp-new-page/ template: open '.template-cache/tmp-new-page.js'

请参阅仓库:https://github.com/henrikwirth/gatsby-starter-wordpress-advanced/blob/master/create/utils.js

第53行找到函数createPageWithTemplate。我试过console.log(page.uri)看看发生了什么。它将正确输出文件名。我还尝试过用gatsby clean清除缓存。似乎是某种反斜杠问题,其中路径的末尾带有\ .js而不是sample-page.js:

no such file or directory, open 'C:\Users\Tobias\Desktop\Gatsby\gatsby-starter-wordpress-advanced\.template-cache\sample-page\.js'

1 个答案:

答案 0 :(得分:0)

问题已解决。该问题与WPGraphQL WordPress插件中的更新有关。必须更新路径,因为page.uri在WPGraphQL的较新版本中有所不同。以前只是:某些页面,现在是/ some-page/。

第二,在页面模板创建过程中,主题使用的是uri,因此,这弄乱了模板文件的路径。现在已将其切换到page.slug并进行了一些额外的检查,以确保frontPage不会最终生成错误的路径。

入门主题的master分支已更新。