首页 > 解决方案 > devServer 代理缺少 URL 部分

问题描述

我的 Vue 项目中有以下 vue.config.js:

module.exports = {
    devServer: {
        proxy: {
            '^/api/': {
                target: 'https://example.com/api/',
                changeOrigin: true,
                logLevel: 'debug'
            },
        }
    }
}

所以所有的请求都/api/*应该被重定向到https://example.com/api/*. 不幸的是,代理似乎删除了后面的部分 URL api/

[HPM] POST /api/api-token-auth/ -> https://example.com/api/

部分怎么了api-token-auth/

标签: javascriptvue.jswebpackwebpack-dev-servervue-cli

解决方案


/api根据docs中的语法代理所有请求,请按如下方式创建规则:

module.exports = {
    devServer: {
        proxy: {
            '/api': {
                target: 'https://example.com',
                changeOrigin: true,
                logLevel: 'debug'
            },
        }
    }
}

您不应该/api再次输入路径,target因为原始路线之后(包括/api原始路线)的所有内容都将附加到目标上。


推荐阅读