vuejs webpack + express + passport无法在PRODUCTION模式下工作

时间:2017-12-28 21:02:38

标签: express vuejs2 passport-google-oauth2

我对vuejs来说是全新的

我正在开发一个MEVN应用程序。我使用vue-cli设置了vuejs项目,该项目在localhost:8080上运行,而快速服务器在localhost:3000上运行。 要将所有请求发送到我的快递服务器,我在vue的config / index.js中添加了代理,它完美无缺。 现在我在我的应用程序中添加了护照google 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运行构建,然后在server.js文件(express)中提供静态文件,还使用了connect-history-api-fallback

更新:connect-history-api-fallback是问题,但删除它导致vuejs路由损坏,因为在history mode中使用它们 现在该怎么办?

1 个答案:

答案 0 :(得分:0)

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

将app.use(历史记录())移到app.get('auth / google')下方并运行