vuejs webpack + express + passport 在生产模式下不工作
vuejs webpack + express + passport not working in PRODUCTION mode
我是 vuejs 的新手
我正在开发 MEVN 应用程序。我使用 vue-cli 设置了一个 vuejs 项目,运行s 在 localhost:8080
上,还有一个快速服务器 运行s 在 localhost:3000
上。
为了将所有请求发送到我的快速服务器,我在 vue 的 config/index.js 中添加了代理,效果很好。
现在我在我的应用程序中添加了 passport 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 登录时,我的应用程序在开发模式下运行良好,但在生产模式下,当我单击登录而不是转到 google 登录同意屏幕时,它会转到 <app-url>/auth/google
空白页
请帮我解决这个问题..
注意:
对于生产模式,我做了 npm 运行 构建,然后在 server.js 文件 (express) 中提供了静态文件,还使用了 connect-history-api-fallback
更新:
connect-history-api-fallback
是个问题,但删除它会导致 vuejs 路由损坏,因为我在 history mode
中使用它们
现在该怎么办?
好吧,重新安排我的 server.js 就成功了
将 app.use(history()) 移到 app.get('auth/google') 下面并且有效
我是 vuejs 的新手
我正在开发 MEVN 应用程序。我使用 vue-cli 设置了一个 vuejs 项目,运行s 在 localhost:8080
上,还有一个快速服务器 运行s 在 localhost:3000
上。
为了将所有请求发送到我的快速服务器,我在 vue 的 config/index.js 中添加了代理,效果很好。
现在我在我的应用程序中添加了 passport 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 登录时,我的应用程序在开发模式下运行良好,但在生产模式下,当我单击登录而不是转到 google 登录同意屏幕时,它会转到 <app-url>/auth/google
空白页
请帮我解决这个问题..
注意: 对于生产模式,我做了 npm 运行 构建,然后在 server.js 文件 (express) 中提供了静态文件,还使用了 connect-history-api-fallback
更新:
connect-history-api-fallback
是个问题,但删除它会导致 vuejs 路由损坏,因为我在 history mode
中使用它们
现在该怎么办?
好吧,重新安排我的 server.js 就成功了
将 app.use(history()) 移到 app.get('auth/google') 下面并且有效