Nuxt:asyncData 和 Fetch 不会在浏览器重新加载时运行

Kri*_*lko 5 nuxt.js

重新加载浏览器时 asyncData 和 Fetch 只运行后端,而不是在浏览器中。

为了消除其他问题,我使用以下设置设置了一个空白的 Nuxt 安装:

项目名称testproject
项目描述我的发光 Nuxt.js 项目
使用自定义服务器框架
选择安装Linter / Formatter、Prettier 的功能
使用自定义 UI 框架
使用自定义测试框架
选择渲染模式通用
选择包管理器npm

我将整个替换为pages/index.vue

<template>
  <h1>Hello world</h1>
</template>

<script>
export default {
  asyncData: function() {
    console.log('async data')
  },
  fetch: function() {
    console.log('fetch')
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

为了允许控制台日志我更改.eslintrc.js

rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
  }
Run Code Online (Sandbox Code Playgroud)

它适用于第一次加载和导航,但不适用于浏览器重新加载(用户启动的 command-R 或重新加载按钮单击)。在最新的 chrome 中测试)。

kis*_*ssu 0

在我这边工作得很好@jakub-z\xc3\xa1ruba。
\n也许尝试使用 来设置项目npx create-nuxt-app <project-name>。这将采用截至今天 ( v3.4.0) 的最新版本。也许您有旧的 CLI?

\n

这是我的项目设置,按照评论中的要求以文本形式编写(即使它完全可以在 Github 存储库中找到)

\n
Programming language: JS\nPackage manager: yarn\nUI framework: none\nNuxt modules: none\nLinting tools: ESlint + Prettier\nTesting Framework: none\nRendering mode: Universal\nDeployment target: Server\nDevelopment tools: None\nContinuous integration: None\nVersion control system: Git\n
Run Code Online (Sandbox Code Playgroud)\n

这是我的代码

\n
Programming language: JS\nPackage manager: yarn\nUI framework: none\nNuxt modules: none\nLinting tools: ESlint + Prettier\nTesting Framework: none\nRendering mode: Universal\nDeployment target: Server\nDevelopment tools: None\nContinuous integration: None\nVersion control system: Git\n
Run Code Online (Sandbox Code Playgroud)\n

工作完美!\n在此输入图像描述

\n

我已经在 Github 上托管了我的代码,如果您想下载它并检查它是否在您这边工作,我们也许可以更好地调试它。

\n