问题描述
我正在使用Nuxt 2.3.4
。
我正在使用查询pages/_.vue
文件的数据以动态处理内容。
根据 ,这是动态嵌套路由的方法。
一切都在本地工作。
但是,当我将/dist
文件夹复制到运行yarn run build
,到我的托管服务器时,当我尝试直接访问/
以外的任何页面时(例如https://mysite.whatever/someurl/somenestedUrl
,都会收到404
错误。 https://mysite.whatever/someurl/somenestedUrl
)。
根据我已将nuxt.config.js
配置为具有以下设置:
/*
** Router
*/
router: {
routeNameSplitter: '/'
},
也许我需要配置服务器nginx
.conf
文件来处理这些URL?
下面的代码片段是我的pages/_.vue
文件。
<template> <v-container v-if="!$apollo.loading && page"> <v-layout> <v-flex xs12 md9 > <h2>{{ page.title }}</h2> <div v-html="page.content" /> </v-flex> <v-flex id="sidebar" class="hidden-md-and-down" xs3 > <h1>Sidebar</h1> </v-flex> </v-layout> </v-container> </template> <script> import * as R from 'ramda' import gql from 'graphql-tag' export default { name: 'Page', apollo: { page: { query: gql` query GetPageByUri($uri: String!) { pageBy(uri: $uri) { id pageId title date uri content } } `, variables() { return { uri: this.$route.params.pathMatch } }, result({ data, loading, networkStatus }) { if (R.isEmpty(data)) return this.$router.replace('/404') }, update(data) { return data.pageBy } } } } </script>
1楼
Aldarund
1
已采纳
2019-03-03 09:50:34
如果您使用ssr模式,那么您需要在服务器上启动nuxt服务器,例如nuxt start和从nginx到nuxt服务器的下游。 可以在找到示例配置
如果您使用的是SPA模式,则需要通过nginx将所有查询重定向到index.html,例如本示例