npm install next@latest react@latest react-dom@latest
npm run dev
npm install next@latest react@latest react-dom@latest
npm run dev
A gatsby clean parancs a Gatsby projektben a cache és a generált fájlok törlésére szolgál. Konkrétan a következőket teszi:
.cache könyvtár tartalmát törli.gatsby clean segít ezeket megoldani.public könyvtárat is törli.Egyszerűen futtasd a következő parancsot a terminálban a projekt gyökérkönyvtárában:
gatsby clean
A gatsby clean után általában új buildet kell indítani:
gatsby develop
vagy
gatsby build
Ez biztosítja, hogy a törölt fájlokat és cache-t újra generálja a Gatsby.
gatsby-node.js
const path = require("path");
const { assignIds } = require("@webdeveducation/wp-block-tools");
exports.createPages = async ({ actions, graphql }) => {
const pageTemplate = path.resolve("src/templates/page.js");
const { createPage } = actions;
const { data } = await graphql(`
query AllPagesQuery {
allWpPage {
nodes {
databaseId
blocks
uri
}
}
}
`);
for (let i = 0; i < data.allWpPage.nodes.length; i++) {
const page = data.allWpPage.nodes[i];
let blocks = page.blocks;
blocks = assignIds(blocks);
createPage({
path: page.uri,
component: pageTemplate,
context: {
blocks,
},
});
}
};
page.js
import React from "react";
import { BlockRendererProvider } from "@webdeveducation/wp-block-tools";
const Page = (props) => {
console.log("Page props: ", props);
return <BlockRendererProvider allBlocks={props.pageContext.blocks} />;
};
export default Page;
gatsby-node.js
const path = require("path");
exports.createPages = async ({ actions, graphql }) => {
const pageTemplate = path.resolve("src/templates/page.js");
const { createPage } = actions;
const { data } = await graphql(`
query AllPagesQuery {
allWpPage {
nodes {
databaseId
blocks
uri
}
}
}
`);
for (let i = 0; i < data.allWpPage.nodes.length; i++) {
const page = data.allWpPage.nodes[i];
let blocks = page.blocks;
createPage({
path: page.uri,
component: pageTemplate,
context: {
blocks,
},
});
}
};
src/templates/page.js
import React from "react";
const Page = (props) => {
console.log("Page props: ", props);
return (
<div>
<p>This is page template</p>
</div>
);
};
export default Page;
gatsby-node.js
const path = require("path");
exports.createPages = async ({ actions, graphql }) => {
const pageTemplate = path.resolve("src/templates/page.js");
const { createPage } = actions;
const { data } = await graphql(`
query AllPagesQuery {
allWpPage {
nodes {
databaseId
title
blocks
uri
}
}
}
`);
for (let i = 0; i < data.allWpPage.nodes.length; i++) {
const page = data.allWpPage.nodes[i];
createPage({
path: page.uri,
component: pageTemplate,
context: {
title: page.title,
},
});
}
};
src/templates/page.js
import React from "react";
const Page = ({ pageContext }) => {
const { title } = pageContext;
return (
<div>
<h1>{title}</h1>
<p>This is page template</p>
</div>
);
};
export default Page;
npx gatsby new headless-gatsby https://github.com/tomphill/gatsby-wordpress-gutenberg-starter
WPGRAPHQL_URL = http://headless-wp-gatsby.local/graphql
sudo npm i -g gatsby-cli
gatsby develop
gatsby clean