Vue启动报错 TypeError: Cannot read property ‘split‘ of null

原因

报错 Cannot read property 'split' of null 出在 http-proxy 解析代理地址时,target.protocolnull。常见情况是:

  1. process.env.PROXY_TARGET 带引号、空格或缺少 http:// 前缀
  2. 局域网访问配置里 public 没写 https://,和 https: true 不一致,可能触发 devServer 异常后再走代理

修改内容

  1. src/utils/devLocalAccess.js
  • getEnvValue 增加 .trim(),避免 Windows 下多余空白
  • getProxyTarget 自动补全 http:// 前缀,并导出供 vue.config.js 使用
  • getDevServerHostConfigpublic 改为 https://IP:端口
  • createProxyOnProxyReq 改为使用 getProxyTarget()
  1. vue.config.js
  • 代理 target 改为 getProxyTarget(),不再直接用 process.env.PROXY_TARGET
  • 增加 secure: false(代理到 http 内网地址时更稳)
  • PROXY_TARGET 为空时不注册代理,避免空 target 崩溃
  1. 环境文件
  • .env.dev:删掉末尾多余的 '
  • .env.dev:去掉行尾空格

请重新执行 npm run serve 试一下