uni-app H5编译运行正常,小程序模拟器执行时提示Page "pages/index/index" has not been registered yet.

uni-app H5编译运行正常,小程序模拟器执行时提示Page “pages/index/index” has not been registered yet.

示例代码:

{
"pages": [ 
{
"path": "pages/index/index",
"style": {
"navigationStyle": "custom"
}
}, {
"path": "pages/search/search",
"style": {
"navigationBarTitleText": "检索"
}
}, {
"path": "pages/sbench/sbench",
"style": {
"navigationBarTitleText": "项目管理系统"
}
},
...
]

操作步骤:

编译运行到微信开发者工具模拟器,必现

预期结果:

正常运行

实际结果:

提示pages/index/index没有注册

bug描述:

自定义组件模式,开启easycom,编译运行到H5一切正常,编译运行到微信小程序,编译正常没有报错,在微信开发者工具运行时报错,提示:Cannot read property ‘createElement’ of undefined … Page “pages/index/index” has not been registered yet. 但是我pages.json里面都有注册页面。经过多方位测试,包括重启开发者工具、重启HbuilderX,删除生成的目标文件重新编译、和重启电脑包括更换XbuilderX和开发者工具的基础版本都解决不了。


更多关于uni-app H5编译运行正常,小程序模拟器执行时提示Page "pages/index/index" has not been registered yet.的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

已解决

更多关于uni-app H5编译运行正常,小程序模拟器执行时提示Page "pages/index/index" has not been registered yet.的实战教程也可以访问 https://www.itying.com/category-93-b0.html


咋解决的

回复 1***@163.com: 我这里是第一个页面报未注册错误,一般只能是App.vue文件运行的问题,长时间在H5平台开发没有在小程序模拟器运行,由于这段时间有太多的git提交,经过git版本的二分查找第一个出现问题的版本,发现App.vue文件在这次提交中引入了vconsole,但是该库不能在小程序中使用,因此必须要对import做平台编译控制,问题解决

回复 田心水原: 哥们,想引入mint-ui做小程序,也出现无法显示页面的情况,你说的平台编译控制是什么操作

前端人找资源(外包),熟悉uni、vue开发。APP、小程序、H5、PC端网站都可以做,找资源(外包),找有资源的服务端开发都行,有的话加微信13192733603。

这个错误通常是由于页面注册顺序或组件加载问题导致的。以下是可能的原因和解决方案:

  1. 检查页面路径是否正确: 确保pages/index/index.vue文件实际存在于项目中,路径大小写要完全匹配。

  2. 检查pages.json配置: 确认首页配置正确,首页应该是pages数组中的第一个页面:

"pages": [
    {
        "path": "pages/index/index",
        "style": {...}
    },
    ...
]
  1. 检查easycom配置: 在pages.json中确认easycom配置是否正确:
"easycom": {
    "autoscan": true,
    "custom": {
        // 你的自定义规则
    }
}
  1. 检查组件命名冲突: 可能存在与页面同名的组件,导致加载冲突。检查components目录下是否有名为index的组件。

  2. 检查小程序项目配置: 确认微信开发者工具中导入的是正确的dist/dev/mp-weixin目录。

  3. 清理缓存: 尝试删除unpackage和node_modules目录,然后重新安装依赖和编译。

  4. 检查Vue文件内容: 确保index.vue文件有基本的模板结构:

<template>
    <view>
        <!-- 内容 -->
    </view>
</template>
回到顶部