You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js+Express连接Prismic API遇Link resolver error的解决

我在运行基于 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 文档结构

Prismic 文档结构

项目目录结构

项目目录结构


问题已解决

错误原因是视图路径配置错误:原代码尝试渲染page,但实际应渲染pages/home,修改后问题修复。

修改后的代码片段:

res.render('pages/home', { document })

内容的提问来源于stack exchange,提问作者Taste of Leaving

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 05:30:53