更改 vue-router 的导入写法,以便适应 vue-router 在未来 v5 版本内,更改文件导出格式所带来的破坏性变更
问题背景:为什么要更改?
vue-router 明确在未来的 v5 版本内不会提供 dist/vue-router.esm-bundler.js 导出文件
- 作者在相关 issue 的回复: https://github.com/vuejs/router/issues/2569#issuecomment-3405172967
- 作者的废弃警告: https://github.com/vuejs/router/commit/9b22edcff3acd9782dd86257b2744c1ae35a455e
为什么选择在 vue-router v5 版本还没有发版的时候就提前适配?
在特定的 vue-router@4.6.0 版本内,就会出现构建故障。
- 流水线失败的案例: https://github.com/nwt-q/001-Smart-Community/actions/runs/18517921823/job/52772087484
- 最小复现案例: https://stackblitz.com/~/github.com/ruan-cat/bug-in-vue-router-4.6.0-with-uniapp?file=package.json
不更改会带来什么问题?
uniapp H5 项目在 vue-router@4.6.0 版本下是失败的
- 可复现案例,切换到
4.6.0分支: https://github.com/ruan-cat/bug-in-vue-router-4.6.0-with-uniapp/tree/4.6.0
如下图所示,在依赖关系指定为 vue-router@4.6.0 时,是失败的。


uniapp H5 项目在 vue-router@4.5.1 版本下是成功的
- 可复现案例,切换到
4.5.1分支: https://stackblitz.com/~/github.com/ruan-cat/bug-in-vue-router-4.6.0-with-uniapp?file=package.json
如下图所示,在依赖关系指定为 vue-router@4.5.1 时,是成功的。

uniapp H5 项目在 vue-router@4.6.3 版本下是成功的
- 可复现案例,切换到
4.6.3分支: https://github.com/ruan-cat/bug-in-vue-router-4.6.0-with-uniapp/tree/4.6.3
如下图所示,在依赖关系指定为 vue-router@4.6.3 时,是成功的。

