nuxt.js - SPA 模式下的 Nuxt.js 静态生成导致与内部加载组件相同的输出
问题描述
我使用“npx create-nuxt-app my-app”创建了一个全新的应用程序,并选择了所有默认选项,除了将模式设置为 SPA。
我运行npm run generate
并期望 dist/*.html 文件包含我的页面/*.vue 的渲染内容,但所有生成的 HTML 都包含:
...
<div id="nuxt-loading" aria-live="polite" role="status">
<div>Loading...</div>
</div>
...
在我希望从文件中获取内容的地方,给定样板 index.vue,index.html 应该包含 Vue 欢迎消息的 HTML。
我的期望错了吗?出于性能和 SEO 的原因,我想利用静态生成。我所有的页面都是静态的。
解决方案
回答我自己的问题:这是预期的行为。
显然我应该为这种情况选择“通用”模式,稍后仍将充当 SPA。
让我感到困惑的部分是将“通用”模式描述为“服务器端渲染”。正在为服务器渲染提供静态生成的文件 - 显然是的。
我一直认为“服务器渲染”需要实际渲染该 HTML,这不是我想要的。我想要静态生成的文件,稍后将成为 SPA。
如果您从浏览器的角度来看,任何 HTML 都将被服务器渲染,无论是 node.js 新渲染的东西,还是一年前生成的静态 HTML 文件。
仍然经常将 SSR 和静态生成描述为分离的方法,这也错误地暗示“静态生成”不是 SSR。在这种情况下它在哪里。
推荐阅读
- javascript - Firefox 焦点/模糊错误的解决方法
- javascript - 在 React Native 中使用 onComplete 事件更改数组中的图像
- react-native - 尝试从我的应用程序发送自动短信但收到错误 Unresolved function or method autoSend()
- javascript - discord.js v12 的问题
- python - 访问表中的表中的表数据
- ios - 保存图像,从库到领域并在不同的视图控制器中呈现
- python - Python 中的 Exchangelib 错误:www-authenticate
- ruby-on-rails - 部署在容器中的 Azure Web 应用程序上的 Mongo 套接字超时
- linux - 如何打印与特定字符串匹配的所有行?
- typescript - 在 combineReducers - Redux - Typescript 中按名称对 reducer 键进行排序