【问题标题】:`set-cookie` doesn't work in dist generate by `npm run build``set-cookie` 在 `npm run build` 生成的 dist 中不起作用
【发布时间】:2021-07-21 01:18:00
【问题描述】:

我有一个 vue 前端服务器,我们使用 cookie 通过一个简单的后端服务器来控制登录状态。 问题是,通过运行npm run serve,set-cookie 在生产模型中运行良好。

但是在我将它打包到dist 文件夹并由serve -s dist 提供后,来自后端响应的set-cookie 不起作用,并且浏览器中没有任何警告或提示。

我不熟悉前端,如果您有任何想法,请随时提出。任何信息都可能对我有很大帮助,谢谢!

【问题讨论】:

  • 我认为这不能完全解决您的问题,但它可能会有所帮助:要查看您的 cookie 是否在 Chrome 中设置,请执行以下操作:1) 单击 F12(这将打开开发者工具.) 2) 单击应用程序选项卡。 3) 点击左侧的 Cookies 选项。 4) 当您与不同的服务器环境交互时,请留意设置了哪些 cookie。
  • 你在生产中使用什么服务器?
  • @Luke 非常感谢,我尝试了您的指示,它表明 cookie 已经设置 :-)。所以新的问题是服务器没有在像npm run serve这样的标题中设置cookie!我将继续努力寻找答案,再次感谢。
  • @HarshalPatil 我不知道它叫什么,但是你可以通过npm install -g serve 安装它,如果你在项目存储库中运行过npm run build,可以通过serve dist 运行服务器。

标签: vue.js npm webpack setcookie


【解决方案1】:

我终于修好了。再次感谢@Luke!

我犯的最大错误是我没有检查是否设置了cookie。

我认为这不会完全解决您的问题,但可能会有所帮助:要查看您的 cookie 是否已在 Chrome 中设置,请执行以下操作:1) 单击 F12(这将打开开发人员工具。) 2) 单击在应用程序选项卡上。 3) 单击左侧的 Cookies 选项。 4) 当您与不同的服务器环境交互时,请留意设置了哪些 cookie。 ——卢克

Vue 代理可以让您在使用 npm run serve 进行开发时远离 cookie 问题,但如果您使用 npm run build 打包它,它不会提供任何帮助。

所以你需要记住在你的项目中设置withCredentials = true。例如我使用 axios,所以最好的方法应该是在main.js 中设置axios.defaults.withCredentials = true;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 2020-04-23
    • 2019-10-05
    • 2020-04-22
    • 2020-02-16
    相关资源
    最近更新 更多