From e4a8fb232e877f0045cd378f61f8440accf750a9 Mon Sep 17 00:00:00 2001 From: LCJ-MinYa <1049468118@qq.com> Date: Mon, 15 Dec 2025 15:08:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20webpack=E5=92=8Cvite=E4=B8=AD=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=BC=80=E5=8F=91=E7=8E=AF=E5=A2=83=E4=B8=8B=E4=BB=A3?= =?UTF-8?q?=E7=90=86=E6=9C=8D=E5=8A=A1=E5=99=A8=E7=9A=84cookie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/demo/webpack/webpack.md | 52 +++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/views/demo/webpack/webpack.md b/src/views/demo/webpack/webpack.md index 1db18e5..0a6794d 100644 --- a/src/views/demo/webpack/webpack.md +++ b/src/views/demo/webpack/webpack.md @@ -66,3 +66,55 @@ export default defineConfig({ } }) ``` + +## webpack和vite中设置开发环境下代理服务器的cookie + +- webpack的实现 +``` javascript +devServer: { + proxy: { + '/dev/api': { + target: 'https://example.com', // 代理的目标地址 + changeOrigin: true, + pathRewrite: { + '/dev/api': '' + }, + // 这里实现 + onProxyReq: function (proxyReq, req, res) { + // 设置固定的cookie, 支持多个cookie同时设置 + // proxyReq.setHeader('Cookie', 'token=xxx; name=123; pwd=456;') + + // 直接转发当前域名下的所有cokkie, 配合浏览器插件注入cookie + if (req.headers.cookie) { + proxyReq.setHeader('Cookie', req.headers.cookie); + } + } + } + } +} +``` + +- vite的实现 +```javascript +server: { + proxy: { + '/dev/api': { + target: 'https://example.com', // 代理的目标地址 + changeOrigin: true, + rewrite: (path) => path.replace('/dev/api', ''), + configure: (proxyReq, _options) => { + // 这里实现 + proxy.on('proxyReq', function (proxyReq, req, res, options) { + // 设置固定的cookie, 支持多个cookie同时设置 + // proxyReq.setHeader('Cookie', 'token=xxx; name=123; pwd=456;') + + // 直接转发当前域名下的所有cokkie, 配合浏览器插件注入cookie + if (req.headers.cookie) { + proxyReq.setHeader('Cookie', req.headers.cookie); + } + }) + } + } + } +} +```