Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 仅为一个页面使用Nuxt进行服务器端渲染_Vue.js_Nuxt.js_Vuetify.js_Vue Router - Fatal编程技术网

Vue.js 仅为一个页面使用Nuxt进行服务器端渲染

Vue.js 仅为一个页面使用Nuxt进行服务器端渲染,vue.js,nuxt.js,vuetify.js,vue-router,Vue.js,Nuxt.js,Vuetify.js,Vue Router,我有一个面板是由vuejs和vuetify开发的,它使用v-router在客户端管理路由,实际上我已经开发了大约70%的面板,由于最终的更改,我必须处理服务器post请求,只从支付页面返回。 我想将NUXT用于SSR,但问题是NUXT忽略了我过去的所有路由,因为它本身没有这些路由。 我的问题是,当我的面板在客户端正常工作时,NUXT只能在服务器请求到客户端后加载一页吗? 我是网络编程新手,我希望我问的问题是正确的。无论如何,谢谢你的帮助 我在pages目录中添加了nossr.vue,但没有ind

我有一个面板是由vuejs和vuetify开发的,它使用v-router在客户端管理路由,实际上我已经开发了大约70%的面板,由于最终的更改,我必须处理服务器post请求,只从支付页面返回。 我想将NUXT用于SSR,但问题是NUXT忽略了我过去的所有路由,因为它本身没有这些路由。 我的问题是,当我的面板在客户端正常工作时,NUXT只能在服务器请求到客户端后加载一页吗? 我是网络编程新手,我希望我问的问题是正确的。无论如何,谢谢你的帮助

我在pages目录中添加了nossr.vue,但没有index.vue文件(这是该目录中唯一的组件,其余的vue组件都放在components目录中)。 我使用[https://stackoverflow.com/questions/54289615/how-to-read-post-request-parameters-in-nuxtjs][1] 用于自定义中间件和post请求句柄类

以下是postRequestHandle.js:

const querystring = require('querystring');

module.exports = function (req, res, next) {
    let body = '';

    req.on('data', (data) => {
        console.log("post request data",data)

        body += data;
    });

    req.on('end', () => {
        req.body = querystring.parse(body) || {};
        console.log("post request handler",req.body)

        next();
    });
};
和nuxt.config.js

export default {
    devServer: {
        host: 'mypanel.test.net',
        port: 8080,
        disableHostCheck: true,
        hotOnly: true,

    },

    serverMiddleware: [
        { path: '/clickout', handler: './server-middleware/postRequestHandler.js' },

    ],
    layout(context) {
        return 'nossr'
    }

}

在Nuxt中创建一个名为
nossr.vue
的额外布局,使其第一个元素成为
元素。在除SSR呈现页面外的每个页面上,您都会放置以下内容:


导出默认值{
布局:“nossr”
}

有关Nuxt中布局的更多信息,请查看此

您可以通过在服务器中间件中设置
res.spa=true
来禁用除特定页面之外的每个页面的SSR

导出默认功能(req、res、next){
如果(req.url!='/点击退出'){
res.spa=真;
} 
next();
}
另请参见:

首先,非常感谢您的回复。我编辑了我的问题,我添加了您建议的任何内容,但不幸的是,当我从邮递员发送请求时,我看不到我在postRequestHandle中添加的任何日志。你能告诉我哪里出了问题吗?@Qazali我不太清楚你的意思你的建议让我自己的路由工作了,但我听不到来自服务器的请求。当我收到服务器的post请求时,我想听一下以呈现新组件。你能给我看一下你从哪里检索数据的代码吗?当然。在我添加到问题中的postRequestHandle.js中,我正在等待req.on方法中的服务器响应。谢谢,这为我节省了时间。