8***@qq.com
8***@qq.com
  • 发布:2022-06-28 10:52
  • 更新:2023-02-19 23:31
  • 阅读:1501

【报Bug】用升级vue3之后在nvue中使用原生插件会出现 resolution via compilerOptions.isCustomElement.

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 19044.1766

HBuilderX类型: 正式

HBuilderX版本号: 3.4.15

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: 小米12

页面类型: nvue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

main.js

app.config.compilerOptions.isCustomElement = tag => tag.startsWith('NameWebViewComponent')

操作步骤:

在vue3项目中创建nvue页面,使用原生插件

预期结果:

原生插件正常显示并能触发各类回调

实际结果:

原生插件可正常显示,但所有回调方法均无法触发,且 this.$scope.$getAppWebview()无法使用,更换为plus.webview.currentWebview()之后正常

bug描述:

项目从Vue2升级到Vue3之后,项目中nvue文件中使用原生插件会报

[Vue warn]: Failed to resolve component: NameWebViewComponent
10:42:45.587 If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.

原生插件可正常显示,但所有回调方法均无法触发,且 this.$scope.$getAppWebview()无法使用,更换为plus.webview.currentWebview()之后正常

2022-06-28 10:52 负责人:无 分享
已邀请:
程序朱

程序朱

找到解决办法了 在项目根目录创建vite.config.js

import {      
    defineConfig      
} from 'vite'      
import uni from '@dcloudio/vite-plugin-uni'      

export default defineConfig({      
    plugins: [      
        uni({      
            vueOptions: {      
                template: {      
                    compilerOptions: {      
                        // 将所有my-开头的标签作为自定义元素处理      
                        isCustomElement: tag => tag.startsWith("")      
                    }      
                }      
            }      
        })      
    ]      
})
3***@qq.com

3***@qq.com

我这边也遇到了这个问题,引入iOS的原生插件可正常显示,所有回调方法也是无法触发

8***@qq.com

8***@qq.com

有解决办法吗

要回复问题请先登录注册