0

我对 vuejs 完全陌生

我正在开发一个 MEVN 应用程序。我使用 vue-cli 设置了一个 vuejs 项目,该项目localhost:8080localhost:3000. 要将所有请求发送到我的快速服务器,我在 vue 的 config/index.js 中添加了代理,它运行良好。现在我在我的应用程序中添加了护照谷歌 oauth。在我添加的 server.js 文件中

app.get('/auth/google',
passport.authenticate('google', {session : false, scope: ['openid email profile'],accessType: 'offline',prompt: 'consent'}))

以及它的回调路由

在我的 vuejs 代码中我添加了

<a href="/auth/google">Login with Google</a>

单击使用 Google 登录时,我的应用程序在开发模式下完美运行,但在生产模式下,当我单击登录而不是进入谷歌同意屏幕进行登录时,它会进入<app-url>/auth/google空白页面

请在这件事上给予我帮助..

注意: 对于生产模式,我做了 npm run build 然后在 server.js 文件(express)中提供静态文件,并且还使用了 connect-history-api-fallback

更新: 问题connect-history-api-fallback确实存在,但删除它会导致 vuejs 路由中断,因为 mhistory mode 现在使用它们该怎么办?

4

1 回答 1

0

好吧,只需重新安排我的 server.js 就可以了

将 app.use(history()) 移到 app.get('auth/google') 下面并且它工作了

于 2017-12-28T21:51:00.937 回答