【发布时间】:2021-10-03 10:56:46
【问题描述】:
我正在使用Nuxt Content 来存储应用程序内容(JSON 文件)。它在开发模式下工作很酷,热重载。我网站的后端会更改内容文件夹中的任何文件,并且会立即在浏览器中更改,而无需重新加载页面。但是在生产模式下,即使在页面重新加载后也没有任何变化。我试过在没有process.dev 条件的情况下使用Handling Hot Reload:
export default function ({ store }) {
window.onNuxtReady(($nuxt) => {
$nuxt.$on('content:update', ({ event, path }) => {
console.log('content:update')
store.dispatch('fetchContentData')
})
})
}
但它甚至不适用于页面重新加载。 如何使生产模式下的热重载在不重新加载的情况下工作,或者至少在重新加载的情况下
【问题讨论】:
-
错误的作业工具,没有在 dev 中运行 dev hmr 套接字,您需要通过观察文件的更改来重建您的应用程序,您可以使用 nodemon 或 pm2 等执行此操作,但您可能以及远离内容并使用数据库
-
@LawrenceCherone HMR 和
nuxt/content对dev完全有效。你的意思是production可能吗?如果你愿意,你可以试试这个 repo:github.com/kissu/nuxt-tailwind-typography-darkmode-boilerplate 因为目前的 Nuxt CLI 有点烦人,所以现在生成一个快速的样板文件。 -
当然,它在 dev 中工作,还有额外的代码在运行(一个 websocket)来监听、构建和推送更改。它没有添加到生产版本中
-
@kissu 当然,但我仍然没有为我的项目找到最终解决方案,并且正在研究其他方法。我让你知道我的最终解决方案。但是我真的不明白如果我不能在不重建的情况下更改我的内容,为什么 Content 模块如此受欢迎。
-
它旨在在开发过程中以一种简单的方式在很多情况下正常工作。你所问的根本不是任何人做的。 tina.io 是您视觉上最接近的解决方案。但是您要么拥有:1) 每次访问特定页面时都会获取 API 并获取最新值 2) 将提前生成的静态内容,无需进一步的 API 调用即可提供服务。您不能将 1) 和 2) 混为一谈,没有人这样做,我看不出有什么方法可以做到这一点。然后,我可能不知道所有这些,但我高度怀疑它的存在。不过,祝你好运!
标签: nuxt.js nuxt-content