Skip to content

master 分支mock-server 热更新兼容问题及建议 #1860

@AleynHe

Description

@AleynHe

Bug report(问题描述)

问题(/mock/mock-server.js )

  1. 方法getMockRoutesIndex循环溢出,去除=
  2. 热更新后,mockRoutesLength 长度不更新,导致增加、减少mock路由后异常express异常,应在每次调用registerRoutes后,刷新长度值
  3. 不兼容(windows),unregisterRoutes、getPath;路径字符串'/'问题导致。
  4. getPath是否一定有必要存在??

优化建议

现有mock api路由前缀固定,并在mock-server热更新代码中写死,不太适用于前后端项目,联调阶段(一键切换联调接口,特别是后端微服务化之后)
解决:

  1. 去掉/mock/index.js responseFake中写死mock 路由前缀/mock
  2. 记录registerRoutes(/mock/mock-server.js)第一次注册进express的路由正则 URL,并转换为源字符串mockFirstRouteUrl返回(同mockRoutesLength)
  3. getMockRoutesIndex(/mock/mock-server.js)将IF判断includes('mock')更改为b)步骤中记录的includes(mockFirstRouteUrl)
  4. vue.config.js 代理/mock前缀,本地mock api是否有必要配置代理?

Steps to reproduce(问题复现步骤)

见问题描述

Screenshot or Gif(截图或动态图)

Link to minimal reproduction(最小可在线还原demo)

Other relevant information(格外信息)

  • Your OS: windows 10
  • Node.js version: v8.12.0
  • vue-element-admin version: master-2019-04-08

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions