uni-app中pages.json配置了路径,为什么页面跳转时找不到页面?
在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’})。控制台报错说找不到页面,但其他页面跳转没问题,这是什么情况啊?
pages.json里配置的路径和实际文件路径是否完全一致,包括大小写。虽然你用的是/pages/detail/detail这种绝对路径跳转,但有时候路径前面多了个斜杠会引发奇怪的问题。建议把跳转代码改成这样试试:
注意,这里去掉了开头的斜杠。在uni-app里,
navigateTo本身的路径解析逻辑是相对于pages.json配置的,所以通常不需要加开头的斜杠。另外再确认下
detail.vue文件有没有被正确编译进去,有时候文件名或者目录名有隐藏的空格之类的也会导致找不到页面。如果还是不行,可以重启一下HBuilderX,有时候缓存也会搞事情。uni.navigateTo里的url不需要加 leading slash。改成这样就正常了:我一般直接复制
pages.json里配置的路径,粘贴到跳转代码里,省事又不容易出错。