a***@astcn.net
a***@astcn.net
  • 发布:2023-07-13 21:12
  • 更新:2023-07-14 14:06
  • 阅读:163

【报Bug】自定义组件引用报错

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: windows 11 专业版

HBuilderX类型: 正式

HBuilderX版本号: 3.8.7

第三方开发者工具版本号: Stable 1.06.2303220

基础库版本号: 2.33.0

项目创建方式: HBuilderX

示例代码:
    <view class="content">  
        <test></test>  
        <user></user>  
        <view class="">  
            test  
        </view>  
    </view>  
</template>  

<script setup>  
    import test from '@/pages/index/test.vue'  
    import user from '@/pages/user/user.vue'  
</script>  

<style>  

</style>

操作步骤:

1.HBuilder X 打开示例项目 -- >运行到小程序模拟器
2.等小程序开发者工具运行起来之后,点击下面工具栏的“重新运行”,然后就会复现这个错误

预期结果:

不会报错。

实际结果:

会报错,影响正常开发。

bug描述:

引用非components文件夹的组件,点击重新运行后,小程序开发者工具会报 module 'test.js' is not defined, require args is '../../test.js' 的错误,会导致小程序其他功能失效。

2023-07-13 21:12 负责人:无 分享
已邀请:
爱豆豆

爱豆豆 - 办法总比困难多

我看了你的代码 你创建组件的时候 肯定选择了 ‘在pages.json’中注册成了页面

爱豆豆

爱豆豆 - 办法总比困难多

你只需要打开 pages.json 把 "path" : "pages/index/test", "path" : "pages/user/user", 这两个删除即可

{  
    "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages  
        {  
            "path": "pages/index/index",  
            "style": {  
                "navigationBarTitleText": "uni-app"  
            }  
        }  
    ],  
    "globalStyle": {  
        "navigationBarTextStyle": "black",  
        "navigationBarTitleText": "uni-app",  
        "navigationBarBackgroundColor": "#F8F8F8",  
        "backgroundColor": "#F8F8F8"  
    },  
    "uniIdRouter": {}  
}  
  • a***@astcn.net (作者)

    很明显,我既想当正常页面又想当组件使用,两用

    2023-07-14 18:53

  • a***@astcn.net (作者)

    他是一个正常的页面,但在有些地方我只想把他当组件使用,你可能想说既然要复用一开始就应该封装成组件。但是如果说这种方式是错误的,那么初次运行就应该提示,而不是点“重新运行”之后才报错,这样很奇怪。

    2023-07-14 18:58

  • 爱豆豆

    回复 a***@astcn.net: 这个我就不清楚了 你可以去微信社区问一下

    2023-07-17 09:24

要回复问题请先登录注册