uni-app中pages.json配置了路径,为什么页面跳转时找不到页面?

シ炳光 阅读 30

在uni-app项目里,我在pages.json的pages数组里配置了新页面路径,但用uni.navigateTo跳转时一直提示页面不存在。路径明明写对了啊…

配置示例:


{
  "pages": [
    "pages/index/index",
    "pages/detail/detail" // 新增的页面路径
  ]
}

页面结构是这样的,detail页面放在pages/detail目录下,文件名是detail.vue。跳转代码用的是uni.navigateTo({url:’/pages/detail/detail’})。控制台报错说找不到页面,但其他页面跳转没问题,这是什么情况啊?

我来解答 赞 9 收藏
二维码
手机扫码查看
2 条解答
路阳
路阳 Lv1
听起来像是路径匹配出了点问题。先检查一下pages.json里配置的路径和实际文件路径是否完全一致,包括大小写。虽然你用的是/pages/detail/detail这种绝对路径跳转,但有时候路径前面多了个斜杠会引发奇怪的问题。

建议把跳转代码改成这样试试:
uni.navigateTo({
url: 'pages/detail/detail'
});


注意,这里去掉了开头的斜杠。在uni-app里,navigateTo本身的路径解析逻辑是相对于pages.json配置的,所以通常不需要加开头的斜杠。

另外再确认下detail.vue文件有没有被正确编译进去,有时候文件名或者目录名有隐藏的空格之类的也会导致找不到页面。如果还是不行,可以重启一下HBuilderX,有时候缓存也会搞事情。
点赞 12
2026-02-01 16:04
❤璐莹
❤璐莹 Lv1
问题出在路径前面多了个斜杠,uni.navigateTo里的url不需要加 leading slash。改成这样就正常了:

uni.navigateTo({
url: 'pages/detail/detail'
});


我一般直接复制pages.json里配置的路径,粘贴到跳转代码里,省事又不容易出错。
点赞 10
2026-02-01 13:09