preguntándose si es posible reemplazar de alguna manera un archivo de plantilla con contenido real (procedente de una API). Por ejemplo, la plantilla se ve así:
import { NextPage } from "next"; const Page: NextPage = () => { return ( <Layout> {content} </Layout> ) }; export default Page; lo siguiente tendría que ser reemplazado: Page con el nombre real del archivo, Layout con el diseño correspondiente que usa el archivo y content con el contenido de la página.
Ahora puedo crear un archivo que ya usa lo siguiente:
import type { NextApiRequest, NextApiResponse } from "next"; import fs from "fs"; export default function handler(req: NextApiRequest, res: NextApiResponse) { const page_name: string = req.body.name; const page_slug: string = req.body.slug; const page_directory: string = req.body.directory; const page_layout: string = req.body.layout; const components: Array<string[]> = req.body.components; const page_data = { layout: page_layout, components, }; fs.writeFile( `Pages/${page_name}`, JSON.stringify(page_data), function (error) { if (error) throw error; return res.json({ message: "File has been created", }); } ); } por ejemplo, si llamara a esta API y le pasara un nombre, se crearía un about.tsx about pero el contenido obviamente estaría vacío.
¿Cómo haría para usar un archivo de plantilla y reemplazar dicho contenido con contenido proveniente de la API?