
原因
报错 Cannot read property 'split' of null 出在 http-proxy 解析代理地址时,target.protocol 为 null。常见情况是:
process.env.PROXY_TARGET带引号、空格或缺少http://前缀- 局域网访问配置里
public没写https://,和https: true不一致,可能触发 devServer 异常后再走代理
修改内容
src/utils/devLocalAccess.js
getEnvValue增加.trim(),避免 Windows 下多余空白getProxyTarget自动补全http://前缀,并导出供vue.config.js使用getDevServerHostConfig的public改为https://IP:端口createProxyOnProxyReq改为使用getProxyTarget()
vue.config.js
- 代理 target 改为
getProxyTarget(),不再直接用process.env.PROXY_TARGET - 增加
secure: false(代理到 http 内网地址时更稳) PROXY_TARGET为空时不注册代理,避免空 target 崩溃
- 环境文件
.env.dev:删掉末尾多余的'.env.dev:去掉行尾空格
请重新执行 npm run serve 试一下