我从 Nuxt Studio 中的空模板创建了一个 Nuxt 3 项目,然后在本地克隆了该项目。
运行
npm run dev
可以正常工作,服务器启动正常,我可以加载索引页面 (content/index.md
)
如果我对
content/index.md
进行任何更新,我预计 HMR 会刷新内容并显示新文本,但事实并非如此。如果我刷新页面,它也不会改变它,它只会在我完全重新启动 nuxt 服务器然后刷新页面时更新。
我发现 this 似乎相关,但没有解决方案,它只指向 this ,它表示在浏览器开发工具中禁用缓存,然后刷新页面。我已按照这些步骤操作,但刷新页面时仍然无法加载新内容。
作为一项附加测试,我进行了页面更改,然后加载了不同的浏览器并通过该浏览器首次导航到我的开发服务器,它仍然显示旧的页面内容;确认不是浏览器问题,一定是服务器缓存了旧内容。
我还验证了 index.md 和 about.md 文件都发生了该问题。作为进一步的测试,我重新启动服务器,编辑 about.md 文件,然后在浏览器中第一次加载它,它显示了预先编辑的版本。
关于如何让内容 Markdown 文件热重载,或者甚至让它们只是刷新浏览器,而不是每次都必须重新启动 Web 服务器才能看到更新,有什么想法吗?
项目结构如下所示:
project/
content/
about.md
index.md
nuxt.config.ts
package.json
nuxt.config.ts 包含:
export default defineNuxtConfig({
devtools: { enabled: true },
modules: ['@nuxt/content'],
routeRules: {
'/': { prerender: true }
},
compatibilityDate: '2024-10-21'
})
package.json 依赖项是:
{
"dependencies": {
"@nuxt/content": "^2.13.4",
"nuxt": "^3.13.2"
}
}
Nuxt Content 模块从项目根目录的 content 目录中读取 markdown 文件。查看您的文件夹结构,内容目录当前位于项目目录下,这导致了问题。请将内容目录移至项目根目录。
这是正确的结构:
content/
about.md
index.md
nuxt.config.ts
package.json