在 Nuxt 项目中,我通过从本地 JSON 文件获取数据来生成静态页面。当我运行
yarn generate
时,一切都很完美。但是,除了 /public/_nuxt 目录中的静态 HTML 文件之外,还有源 JSON 文件以及用于处理它的所有函数。由于某种原因,这些内容正在每个页面上加载。为什么?
作为示例,我创建了一个非常简单的项目:https://stackblitz.com/edit/nuxt-starter-efxtet?file=pages%2Findex.vue
在主页(/pages/index.vue)上,生成页面链接,并且在每个页面上,
[itemName]/index.vue
显示来自data/pageData.json
的文本。当我运行 yarn generate
时,它会使用渲染文本生成所有 [itemName]/index.html
。而且还会在 _nuxt 目录中创建一个名为 pageData.8c96f53e.js
的文件,其中包含用于生成 html 的源数据。但页面已经生成了,为什么要进行多余的请求并复制源数据呢?我怎样才能避免这种情况?
静态页面和生成对于无服务器 Web 应用程序来说很常见。这意味着所有页面都将生成并准备好发送给客户端,无需任何其他处理。因此,在“npm rungenerate”上,所有页面都会生成,并且对于所有动态页面,您都有一个文件,甚至是 [itemName]/index.vue。希望你能得到正确的答案。