在预渲染模式下部署 nuxt 3 时出错

Moh*_*mad 6 vue.js vite nuxtjs3

您好,我正在尝试在预渲染模式(SSG 模式)下构建我的 nuxt 3 应用程序,并且我已在我的nuxt.config.ts文件中添加这些配置

\n
\n// https://nuxt.com/docs/api/configuration/nuxt-config\nexport default defineNuxtConfig({\n  devtools: { enabled: true },\n\n  runtimeConfig: {\n    public: {\n      WEBSITE_NAME_EN: process.env.WEBSITE_NAME_EN,\n      WEBSITE_ADDRESS: process.env.WEBSITE_ADDRESS,\n      API_BASE_URL: process.env.API_BASE_URL,\n    },\n  },\n\n  ssr: true,\n  nitro: {\n    baseURL: "http://localhost:8000",\n    prerender: {\n      crawlLinks: true,\n    },\n  },\n  routeRules: {\n    "/**": { swr: true },\n    "/dashboard/**": { ssr: false },\n  },\n});\n\n\n
Run Code Online (Sandbox Code Playgroud)\n

和我的package.json文件内容

\n
\n{\n  "name": "nuxt-app",\n  "private": true,\n  "scripts": {\n    "build": "nuxt build",\n    "dev": "nuxt dev",\n    "generate": "nuxt generate",\n    "preview": "nuxt preview",\n    "postinstall": "nuxt prepare"\n  },\n  "devDependencies": {\n    "@ckeditor/ckeditor5-vue": "^5.1.0",\n    "@fortawesome/fontawesome-free": "^6.4.0",\n    "@nuxt/devtools": "latest",\n    "@nuxtjs/tailwindcss": "^6.8.0",\n    "@pinia/nuxt": "^0.4.11",\n    "@types/node": "^18.16.19",\n    "@vee-validate/rules": "^4.10.8",\n    "@vime/core": "^5.4.1",\n    "@vime/vue-next": "^5.4.1",\n    "@vueuse/nuxt": "^10.2.1",\n    "axios": "^1.4.0",\n    "nuxt": "^3.6.5",\n    "pinia": "^2.1.4",\n    "sass": "^1.64.1",\n    "sass-loader": "^13.3.2",\n    "swiper": "^10.0.4",\n    "v-lazy-image": "^2.1.1",\n    "vee-validate": "^4.10.8",\n    "vue-toastification": "^2.0.0-rc.5"\n  }\n}\n\n
Run Code Online (Sandbox Code Playgroud)\n

但是当我运行yarn build命令时它会产生这些错误

\n
\n\xe2\x84\xb9 \xe2\x9c\x93 built in 7.26s                                                                                                                                                                                                            11:57:59 AM\n\xe2\x9c\x94 Server built in 7284ms                                                                                                                                                                                                      11:57:59 AM\n\xe2\x9c\x94 Generated public .output/public                                                                                                                                                                                       nitro 11:57:59 AM\n\xe2\x84\xb9 Initializing prerenderer                                                                                                                                                                                              nitro 11:57:59 AM\n\xe2\x84\xb9 Prerendering 1 initial routes with crawler                                                                                                                                                                            nitro 11:58:06 AM\n  \xe2\x94\x9c\xe2\x94\x80 / (144ms) (Error: [404] Page not found: /http://localhost:8000)                                                                                                                                                     nitro 11:58:07 AM\n                                                                                                                                                                                                                         nitro 11:58:07 AM\nErrors prerendering:\n  \xe2\x94\x9c\xe2\x94\x80 / (404)                                                                                                                                                                                                             nitro 11:58:07 AM\n                                                                                                                                                                                                                         nitro 11:58:07 AM\n\n ERROR  Exiting due to prerender errors.                                                                                                                                                                                       11:58:07 AM\n\n  at prerender (/E:/Workspace/personal-website-frontend-v2/node_modules/nitropack/dist/shared/nitro.1db3349c.mjs:189:11)\n  at runMicrotasks (<anonymous>)\n  at processTicksAndRejections (node:internal/process/task_queues:96:5)\n  at async /E:/Workspace/personal-website-frontend-v2/node_modules/nuxt/dist/index.mjs:2641:7\n  at async build (/E:/Workspace/personal-website-frontend-v2/node_modules/nuxt/dist/index.mjs:3794:5)\n  at async Object.invoke (/E:/Workspace/personal-website-frontend-v2/node_modules/nuxi/dist/chunks/build.mjs:59:5)\n  at async _main (/E:/Workspace/personal-website-frontend-v2/node_modules/nuxi/dist/cli.mjs:49:20)\n\nerror Command failed with exit code 1.\ninfo Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.\n\n
Run Code Online (Sandbox Code Playgroud)\n

我在这个地址有一个 404 页面/pages/404.vue,但它仍然给我这个错误,那么问题是什么以及如何修复它?

\n

我找不到任何答案,这个问题对我来说似乎很奇怪

\n

编辑:我什至创建了一个新项目,并向其中添加nuxt.config.ts内容,但仍然存在相同的错误

\n

Moh*_*mad 5

我已添加failOnError: falseprerender对象中nuxt.config.ts并且构建成功,但错误仍然存​​在,并且我找不到任何答案。

现在我的nuxt.config.ts内容是这样的:


// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
  devtools: { enabled: true },

  runtimeConfig: {
    public: {
      WEBSITE_NAME_EN: process.env.WEBSITE_NAME_EN,
      WEBSITE_ADDRESS: process.env.WEBSITE_ADDRESS,
      API_BASE_URL: process.env.API_BASE_URL,
    },
  },

  ssr: true,
  nitro: {
    baseURL: "http://localhost:8000",
    prerender: {
      crawlLinks: true,
      failOnError: false, 
    },
  },
  routeRules: {
    "/**": { swr: true },
    "/dashboard/**": { ssr: false },
  },
});
Run Code Online (Sandbox Code Playgroud)


Moh*_*mad 0

我解决了问题,我的代码没有错误front-end,它来自我的 Laravel back-endAPI,我为我的 API 端点设置了一个throttle,所以由于发送了很多请求,我遇到了404 and 429错误,所以我throttle在那里发表评论,问题得到了解决

注意:如果你不知道这throttle是什么,Nutshall 中的throttleLaravel 中有一个请求限制器,例如,当你在一分钟内发送 10 个请求时,它会在一段时间内限制你发送第 11 个请求。

  • 在基于 Laravel 的后端上设置节流阀是如何解决 nuxt spa 前端的构建过程的? (2认同)