#javascript #vue.js #axios #nuxt.js
#javascript #vue.js #axios #nuxt.js
Вопрос:
Мое приложение nux отображает ошибку 404 not found при обновлении страницы. Если я перейду через ssr через маршрутизацию nuxt-links, она будет работать нормально. Что я делаю не так?
Я развертываю в now.sh с помощью команды ‘now’.
Я использую 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>
now.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"
}
}
Комментарии:
1. Вы не можете развернуть приложение Nuxt с Now v2. Вам нужно использовать 1. У Nuxt есть документация по этому поводу. nuxtjs.org/faq/now-deployment#how-to-deploy-with-now —
2. @BillCriswell ну, ты можешь github.com/nuxt/now-builder
3. Ах, как мило. Не знал об этом, только о том, что было в документах, за чем, казалось, почти следовал плакат.
Ответ №1:
Вы развертываете его как статический веб-сайт. Nuxt по умолчанию не генерирует маршруты для динамических страниц.
В любом случае вы могли бы просто использовать nuxt now build. 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": "/" }
]
}
Комментарии:
1. Сделал это и теперь получаю ‘bad gateway’.
2. @jord49 ну, тогда ты сделал что-то не так, проверь журналы