Realmente estoy luchando al intentar construir un sitio web desde cero sin un marco. Y ahora estoy integrando Prismic a través de node.js, pero mientras sigo todos los pasajes, me quedo atascado con este error que se muestra en el registro de la terminal: TypeError: Prismic.getApi no es una función.
Como consecuencia de esto, puedo ver el sitio web local, pero el enlace Acerca de no se carga. ¿Cómo puedo arreglar eso?
Este es el código principal relacionado con el paquete.json
require('dotenv').config() console.log(process.env.PRISMIC_ENDPOINT, process.env.PRISMIC_CLIENT_ID) const express = require('express') const app = express() const path = require('path') const port = 3000 const Prismic = require('@prismicio/client') const PrismicDOM = require('prismic-dom') const initApi = req => { return Prismic.getApi(process.env.PRISMIC_ENDPOINT, { accessToken: process.env.PRISMIC_ACCESS_TOKEN, req }) } const handlelinkResolver = doc => { // Define the url depending on the document type // if (doc.type === 'page'){ // return '/page/' + doc.uid; // } else if (doc.type === 'blog_post'){ // return '/blog/' + doc.uid; // } // Default to homepage return '/' } app.use((req, res, next) => { res.locals.ctx = { endpoint: process.env.PRISMIC_ENDPOINT, linkResolver: handlelinkResolver } res.locals.PrismicDOM = PrismicDOM next() }) app.set('views', path.join(__dirname, 'views')) app.set('view engine', 'pug') app.get('/', async (req, res) => { res.render('pages/home') }) app.get('/about', async (req, res) => { initApi(req).then((api) => { api.query( Prismic.Predicates.at('document.type', 'about') ).then(response => { console.log(response) res.render('pages/about') }) }) }) app.get('/personaggi', (req, res) => { res.render('pages/personaggi') }) app.get('/detail/:uid', (req, res) => { res.render('pages/detail') }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })