我正在使用Nuxt.js进行测试以生成静态网站。
是否可以在使用 API 获取数据时生成 100% 静态站点,以便摆脱 API 和请求?
根据我到目前为止的测试,所有文件都正确生成并托管在Github 页面上并且可以访问,除了:
.html在生成过程中已经使用数据生成文件。使用asyncData从 API 获取组件的数据。
解决方案是使用 vuex(状态管理)并在生成过程中用数据填充状态。
该状态将已填充在生成的.html文件中
有关更多信息,请参阅正在讨论的该线程。
例子:
async fetch({ store }) {
if (_.isEmpty(store.getters['tags/getTags'])) {
await store.dispatch('tags/fetchTags');
}
},
Run Code Online (Sandbox Code Playgroud)
fetchTags是向 api 发出请求并填充状态的操作tags状态尚未填充,则通过向 api 发出请求来填充状态nuxt generate,将填充部署的状态,因此不会发送 api 请求如果有人有更好的解决方案,请分享,我很乐意接受该答案作为正确的答案:)