uni-app hbulider 发布 h5 目录下有vite.config.js/ts 文件 打包后的uni-popup就丢失 删除文件就正常

uni-app hbulider 发布 h5 目录下有vite.config.js/ts 文件 打包后的uni-popup就丢失 删除文件就正常

示例代码:

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

export default defineConfig({
  plugins: [uni()],
});

操作步骤:

  • 打包

预期结果:

  • 弹窗正常

实际结果:

  • 弹窗失效

bug描述:

用的HBuilderX生成的空白示例,只是添加了vite.config.ts 文件,打包出来的文件就没有了弹窗。示例代码和打包后的代码都在压缩包里

Image 1 Image 2 Image 3

测试用例.zip


更多关于uni-app hbulider 发布 h5 目录下有vite.config.js/ts 文件 打包后的uni-popup就丢失 删除文件就正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html

18 回复

hx升级到最新的alpha版本试试,我这边打包之后弹窗能正常显示

更多关于uni-app hbulider 发布 h5 目录下有vite.config.js/ts 文件 打包后的uni-popup就丢失 删除文件就正常的实战教程也可以访问 https://www.itying.com/category-93-b0.html


还是不行呢,运行了reset.bat,然后删除了目录。下载alpha版本解压。再次打包还是一样的。

回复 1***@qq.com: 看下产物中是否含有uni-popup组件的相关内容

回复 DCloud_UNI_JBB: 有uni-popup 的标签,图片发在下面了

更新之后重新打包,还是无法正常显示


生成了标签

查看下产物中是否有uni-popup组件

去掉文件有,没去掉就没有

像是没有

跑一下hello uniapp看看有没有问题。里面有uni-ui的示例

回复 DCloud_UNI_JBB: 这个就是那个示例,但是里面是vue2的写法,就没问题。我改用vue3写法就不行

回复 1***@qq.com: 你下载vue3的编译器了吗?

回复 DCloud_UNI_JBB: 下载了的,前面截图就有下载成功的提示。

把文件去掉,打包又有

vite.config.ts 改成 vite.config.js 试试

回复 DCloud_UNI_JBB: 改成js没问题了。之前没更新前js也不行。

回复 1***@qq.com: 估计是typescript的问题

这是一个典型的Vite配置与uni-app组件冲突问题。当项目中存在vite.config.js/ts文件时,Vite构建工具会接管uni-app的编译过程,可能导致部分uni-app原生组件(如uni-popup)的样式或功能丢失。

主要原因:

  1. Vite构建时可能未正确处理uni-app组件的样式注入
  2. Vite的Tree-shaking机制可能误删了uni-popup相关代码
  3. 缺少必要的Vite插件配置

解决方案:

  1. 检查vite.config.ts中是否缺少uni-app必要的配置项
  2. 确保@dcloudio/vite-plugin-uni插件版本与HBuilderX版本匹配
  3. 在vite.config.ts中添加css配置:
export default defineConfig({
  plugins: [uni()],
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: '@import "uni-scss";'
      }
    }
  }
});
回到顶部