原因

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

  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 使用
  • getDevServerHostConfig 的 public 改为 https://IP:端口
  • createProxyOnProxyReq 改为使用 getProxyTarget()

2. vue.config.js

  • 代理 target 改为 getProxyTarget(),不再直接用 process.env.PROXY_TARGET
  • 增加 secure: false(代理到 http 内网地址时更稳)
  • PROXY_TARGET 为空时不注册代理,避免空 target 崩溃

3. 环境文件

  • .env.dev:删掉末尾多余的 '
  • .env.dev:去掉行尾空格

请重新执行 npm run serve 试一下

Logo

CANN开发者社区旨在汇聚广大开发者,围绕CANN架构重构、算子开发、部署应用优化等核心方向,展开深度交流与思想碰撞,携手共同促进CANN开放生态突破!

更多推荐