我有一个vue前端服务器,我们使用cookie通过一个简单的后端服务器控制登录状态。问题是,通过运行npm run serve
,set cookie在生产模型中运行良好。
但在我将其打包到dist
文件夹并由serve -s dist
提供服务后,来自后端响应的set-cookie
不起作用,浏览器中也没有任何警告或提示。
我不熟悉前端,所以如果你有任何想法,请放心。任何信息都可能对我有很大帮助,谢谢!
我终于修复了它。再次感谢@Luke!
我犯的最大错误是没有检查是否设置了cookie。
我认为这不会完全解决你的问题,但它可能会有所帮助:要查看你的cookie是否在Chrome中设置,请执行以下操作:1(单击F12(这将打开开发工具。(2(单击应用程序选项卡。3(单击左侧的Cookie选项。4( 当您与不同的服务器环境交互时,请密切关注正在设置的cookie。–Luke
Vue代理在使用npm run serve
进行开发时会让您远离cookie问题,但如果您使用npm run build
进行打包,它不会提供任何帮助。
因此,您需要记住在项目中设置withCredentials = true
。例如,我使用axios,所以最好的方法应该是在main.js
中设置axios.defaults.withCredentials = true;
。