Anet
Anet
  • 发布:2022-10-19 16:06
  • 更新:2023-08-30 11:27
  • 阅读:1202

【求助!】项目采用vue3(cli) + vite构建的项目 在App端 easycom无效,H5端正常

分类:uni-app

问题描述:

项目采用vue3(cli) + vite + ts cli版本为:3.0.0-alpha-3060420220922009

在页面上引入uni组件时,h5端正常,App端无效

手动引入uni组件时,h5端正常,App端也能正常显示

组件文件全在components目录,遵循components/文件名/文件名.vue格式

**期望:

在App端自动引入uni组件,无需手动引入

需要怎么做?easycom的custom属性需要怎么配置?

望告知解决方案,谢谢!**

2022-10-19 16:06 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_WZF

DCloud_UNI_WZF

HbuilderX 3.6.8 已修复

99不二

99不二

3.6.17 又不行了

DCloud_UNI_WZF

DCloud_UNI_WZF

测试未复现该问题,请检查代码或参考提交Bug模板提供详细信息及测试工程,谢谢

Anet

Anet (作者)

HBuilderX.3.6.4.20220922

问题复现:H5端正常,Android端(三星手机)无法显示组件信息,IOS没有试过

创建项目使用的命令是 npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project

你再帮忙看看,我在附件上上传demo和运行到App端的日志截图了

DCloud_UNI_WZF

DCloud_UNI_WZF

上面的demo中,实测不需要安装 node-sass sass-loader,而且你的demo中没有引入 uni-easyinput
这边测试了下(已尝试引入uni-easyinput及不引入uni-easyinput)没有复现上述错误

  • Anet (作者)

    没有引入uni-easyinput的意思是我没有手动引入这个组件?

    我能问一下你复现的编辑器版本是什么吗?

    2022-10-20 11:11

  • DCloud_UNI_WZF

    回复 Anet: 3.6.4

    2022-10-20 11:19

  • DCloud_UNI_WZF

    回复 Anet: 你的测试工程中 pages/index/index.vue中没有引入 uni-easyinput 吧

    2022-10-20 11:20

  • Anet (作者)

    回复 DCloud_UNI_WZF: uni-easyinput组件目录:components/uni-easyinput/uni-easyinput

    它不应该遵循easycom规则自动引入吗?还需要手动引入?

    2022-10-20 11:28

  • DCloud_UNI_WZF

    回复 Anet: 我是说你没有使用这个组件

    2022-10-20 11:40

  • Anet (作者)

    回复 DCloud_UNI_WZF:

    用了呀,一共四个组件,

    uni-nav-bar手动引入,

    uni-forms,uni-forms-item,uni-easyinput这三个组件没有手动引入,然后就出现了前面那张图片的警告日志

    你再仔细看一下pages/index/index.vue这个文件,代码格式化过的

    2022-10-20 11:51

  • DCloud_UNI_WZF

    回复 Anet: 嗯嗯,没注意写在一行了,问题复现了,这边排查下

    2022-10-20 12:24

  • Anet (作者)

    回复 DCloud_UNI_WZF:

    好的

    2022-10-20 13:34

  • DCloud_UNI_WZF

    回复 Anet: 目前定位到问题把 <script setup lang="ts"> 中的 lang="ts" 去掉就可以了,应该是app端编译有问题

    2022-10-20 15:12

  • Anet (作者)

    回复 DCloud_UNI_WZF:

    去掉lang="ts",工作量太大了,还不如手动把组件引入呢

    2022-10-20 15:16

  • Anet (作者)

    回复 Anet:

    添加自定义easycom规则也不行吗?

    2022-10-20 15:18

  • DCloud_UNI_WZF

    回复 Anet: 不是规则的问题,测试HBuilderX 创建的项目好像可以,不知道对于你来说切换成本是否可接受,同事正在处理,如果有进展或者临时解决方案,我会再来回复

    2022-10-20 15:34

DCloud_UNI_WZF

DCloud_UNI_WZF

暂时可通过替换 node_modules/@dcloudio/uni-app-vite/dist/plugins/easycom.js 文件18-20行 为

            const { filename } = (0, uni_cli_shared_1.parseVueRequest)(id);  
            if (!uni_cli_shared_1.EXTNAME_VUE_TEMPLATE.includes(path_1.default.extname(filename))) {  
                return;  
            }  
            if (!code.includes('_resolveComponent')) {

解决,后续版本会修复

  • Anet (作者)

    可以了,谢谢你!

    2022-10-20 16:11

DCloud_UNI_WZF

DCloud_UNI_WZF

@dcloudio 相关依赖 3.0.0-alpha-3060720221018006 版本已修复该问题

  • Anet (作者)

    执行这个命令:npx @dcloudio/uvm 3.0.0-alpha-3060720221018006

    提示: UnhandledPromiseRejectionWarning: Error: Invalid version: 3.0.0-alpha-3060720221018006

    你再帮忙看看,用npm 或者 yarn 都下载不了这个依赖

    2022-10-21 15:25

  • DCloud_UNI_WZF

    回复 Anet: package.json 替换依赖版本,删除node_modules,yarn install,这边测试没有遇到问题

    2022-10-21 15:41

  • Anet (作者)

    回复 DCloud_UNI_WZF:

    你看我发的截图

    2022-10-21 15:55

Anet

Anet (作者)

跟node版本有关?我现在的确实下载不了

  • DCloud_UNI_WZF

    网络或本地环境问题吧,npm https://www.npmjs.com/package/@dcloudio/uni-app 上可以看到对应版本的

    2022-10-21 16:05

1***@qq.com

1***@qq.com

{
"name": "app",
"dependencies": {
"@dcloudio/uni-app": "3.0.0-3081220230814001",
"crypto-js": "^4.1.1",
"dayjs": "^1.11.9",
"jsencrypt": "^3.3.2",
"moment": "^2.29.4",
"pinia": "^2.1.6",
"vue": "^3.3.4"
},
"devDependencies": {
"@dcloudio/types": "^3.3.3",
"@dcloudio/vite-plugin-uni": "3.0.0-3081220230814001",
"@types/crypto-js": "^4.1.1",
"@types/weixin-app": "^2.9.4",
"@vue/tsconfig": "^0.4.0",
"sass": "^1.66.0",
"typescript": "^5.1.6",
"vite": "^4.4.9",
"vue-tsc": "^1.8.8"
}
}
vite + ts + vue3 出现相同问题

  • 1***@qq.com

    仅在app上出现

    2023-08-30 11:27

  • 1***@qq.com

    有时候会是好的,多运行几次又会出现

    2023-08-30 11:37

  • 1***@qq.com

    我把vite删了,直接就好了

    2023-08-30 11:50

  • 斜陽

    回复 1***@qq.com: 问题解决了吗

    2024-10-29 14:45

要回复问题请先登录注册