didi / chameleon

🦎 一套代码运行多端,一端所见即多端所见
http://cml.didi.cn/
Apache License 2.0
9.02k stars 692 forks source link

快应用路由配置不能以 / 开头 #507

Open WJCHumble opened 3 years ago

WJCHumble commented 3 years ago

bug描述

router.config.js 中配置的 path 必须带 /,这样在编译成快应用的时候也会出现 /,但是快应用的路由配置规定不能以 / 开头。

复现bug的步骤

例如这样配置 cml 项目的 router.config.js:

{
  "mode": "hash",
  "domain": "https://api.chameleon.com",
  "routes":[
    {
      "url": "/",
      "path": "/pages/index/index",
      "name": "首页",
      "mock": "index.php"
    }
  ]
}

编译成的快应用的路由:

"router": {
        "pages": {
            "/pages/index": {
                "component": "index",
                "path": "pages/index/index"
            }
        },
        "entry": "/pages/index"
    }

pages 里面的 key 不能以 / 开始,下面这样才是合法的:

"router": {
        "pages": {
            "pages/index": {
                "component": "index",
                "path": "pages/index/index"
            }
        },
        "entry": "pages/index"
    }

问题截图

编译环境信息

运行环境信息