Node.js+Express连接Prismic API遇Link resolver error的解决
问题:Node.js + Express 连接 Prismic API 报「[Link resolver error] Unknown type\n」错误
我在运行基于 Node.js + Express 的应用时,尝试连接 Prismic API 持续收到错误提示:'[Link resolver error] Unknown type\n',推测问题和路由有关,但不确定修复方式。
Prismic 配置文件
require('dotenv').config() const fetch = require('node-fetch') const prismic = require('@prismicio/client') const repoName = process.env.PRISMIC_REPO_NAME const accessToken = process.env.PRISMIC_ACCESS_TOKEN const endpoint = prismic.getEndpoint(repoName) const routes = [ { type: 'page', path: '/' } ] module.exports.client = prismic.createClient(endpoint, { fetch, accessToken, routes })
app.js 文件
require('dotenv').config() const path = require('path') const express = require('express') const prismicH = require('@prismicio/helpers') const { client } = require('./config/prismicConfig.js') const app = express() const port = process.env.PORT || 3000 // 模板引擎配置 app.set('views', path.join(__dirname, 'views')) app.set('view engine', 'pug') // 中间件 app.use((req, res, next) => { res.locals.ctx = { prismicH } next() }) app.get('/', async (req, res) => { const document = await client.getFirst() res.render('page', { document }) }) app.get('/about', (req, res) => { res.render('pages/about') }) app.get('/collections', (req, res) => { res.render('pages/collections') }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) })
Prismic 文档结构

项目目录结构

问题已解决
错误原因是视图路径配置错误:原代码尝试渲染page,但实际应渲染pages/home,修改后问题修复。
修改后的代码片段:
res.render('pages/home', { document })
内容的提问来源于stack exchange,提问作者Taste of Leaving
相关产品推荐
相关产品推荐

