Nuxt 应用程序在部署到现在时在刷新时出现 404 错误

Posted

技术标签:

【中文标题】Nuxt 应用程序在部署到现在时在刷新时出现 404 错误【英文标题】:Nuxt application is 404 erroring on refresh when deployed to now 【发布时间】:2019-08-07 03:13:26 【问题描述】:

刷新页面时,我的 nux 应用程序显示 404 not found 错误。如果我通过 nuxt-links 路由浏览 s-s-r,它工作正常。我做错了什么?

我正在使用“now”命令部署到 now.sh。

我正在使用 slug 并且我的主 vue 文件是 _vue.vue 作为动态页面的主模板。

<template>
<div>
<headerBanner :pagetitle="post[0].title.rendered" :acf_subtitle="post[0].acf.subtitle_text"/>
</div>
</template>

<script>
import axios from 'axios' 
import headerBanner from '~/components/headerbanner.vue'

export default 

  components: 
      headerBanner
  ,

  asyncData ( params, error ) 
    console.log(`https://mywebsite.com/wp-json/wp/v2/pages?slug=$params.vue`)
    return axios.get(`https://mywebsite.com/wp-json/wp/v2/pages?slug=$params.vue`)
    .then((res) => 
      return  post: res.data 
    )
    .catch((e) => 
      error( statusCode: 404, message: 'Post not found' )
    )
  ,

  layout: 'default'



</script>

现在.json


    "version": 2,
    "name": "nuxt-static",
    "builds": [
         "src": "package.json", "use": "@now/static-build" 
    ]

package.json


  "name": "myproject",
  "version": "1.0.0",
  "description": "My Nuxt.js project",
  "author": "jordan",
  "private": true,
  "scripts": 
    "dev": "nuxt",
    "build": "nuxt build",
    "start": "nuxt start",
    "generate": "nuxt generate",
    "now-build": "nuxt generate"  
  ,
  "dependencies": 
    "@fortawesome/fontawesome": "^1.1.8",
    "@fortawesome/free-solid-svg-icons": "^5.7.2",
    "@nuxtjs/axios": "^5.4.1",
    "@nuxtjs/pwa": "^2.6.0",
    "cross-env": "^5.2.0",
    "nuxt": "^2.4.0",
    "nuxt-fontawesome": "^0.4.0",
    "nuxt-payload-extractor": "^0.0.8",
    "vue-resource": "^1.5.1",
    "vuex": "^3.1.0"
  ,
  "devDependencies": 
    "node-sass": "^4.11.0",
    "nodemon": "^1.18.9",
    "sass-loader": "^7.1.0"
  

【问题讨论】:

您无法使用 Now v2 部署 Nuxt 应用。你需要使用 1. Nuxt 有这方面的文档。 nuxtjs.org/faq/now-deployment#how-to-deploy-with-now- @BillCriswell 好,你可以github.com/nuxt/now-builder 啊甜蜜。不知道这一点,只是文档中的内容几乎是海报似乎在关注的内容。 【参考方案1】:

您将其部署为静态网站。 Nuxt 默认不为动态页面生成路由。

无论如何,您现在都可以使用 nuxt 构建。 https://github.com/nuxt/now-builder


  "version": 2,
  "builds": [
    
      "src": "nuxt.config.js",
      "use": "@nuxtjs/now-builder",
      "config": 
    
  ],
  "routes": [
     "src": "/_nuxt/.+", "headers":  "cache-control": "s-maxage=31536000"  ,
     "src": "/(.*)", "dest": "/" 
  ]

【讨论】:

现在完成了,得到“坏网关”。 @jord49 好吧,那你做错了,检查日志

以上是关于Nuxt 应用程序在部署到现在时在刷新时出现 404 错误的主要内容,如果未能解决你的问题,请参考以下文章

尝试刷新 googleapis 的访问令牌时出现 invalid_grant 错误

如何通过云功能将 Nuxt s-s-r 应用部署到 Firebase?

尝试在 Nuxt 中将数据从组件传递到页面时出现错误消息

在 GitHub Actions 中启动 nuxt 时出现 Nuxt 致命错误

从 Nuxt 上传到 AWS S3 存储桶时出现 500 内部服务器错误

若依vue项目部署步骤,避免刷新时出现404错误