uni-app 编译成小程序部分组件不完全丢失了js和wxss

uni-app 编译成小程序部分组件不完全丢失了js和wxss

操作步骤:

  • 编译uniapp项目运行到小程序

预期结果:

  • 小程序正常

实际结果:

  • 某个组件文件缺失

bug描述:

  • vue3项目,编译出来的某个组件只有json和wxml没有json和wxss。前一阵是好的,最近一个月突然出现的。

d910006755cddd37a4fb6957c29b6185

信息类别 详细信息
产品分类 uniapp/小程序/微信
PC开发环境 Windows
PC开发环境版本 win11
HBuilderX类型 正式
HBuilderX版本 4.17
第三方开发者工具 1.06.2402040
基础库版本 3.4.3
项目创建方式 HBuilderX

更多关于uni-app 编译成小程序部分组件不完全丢失了js和wxss的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

应该是css里的问题 导致没编译进去 能提供一个可以复现的demo吗

更多关于uni-app 编译成小程序部分组件不完全丢失了js和wxss的实战教程也可以访问 https://www.itying.com/category-93-b0.html


不是css,这个组件我把js和css都去了,template里只留一个空的view标签也是一样的

运行到浏览器是正常的

回复 7***@qq.com: 这组件有被引用吗?

回复 爱豆豆: 有,应该是引用的问题,我引用的时候名称是import ListItem from ‘xxx’,可能ListItem跟原生的ListItem组件重名冲突的,HBuilderX的编译的时候出问题了,但是以前是没问题的,应该是最近的版本更新导致的。我把ListItem改成ListItemNew就没问题了

回复 7***@qq.com: 参考这篇问答 :https://ask.dcloud.net.cn/question/190283

回复 7***@qq.com: ListItem 现在是 uniappx 的内置组件 不能以ListItem命名自定义组件 改名字就行了 就是你说的这个原因

uni-app 开发中,如果你编译成小程序后发现部分组件的 JSWXSS 丢失,可能是由于以下原因导致的。你可以根据这些原因逐一排查并解决问题:


1. 组件未正确引入或注册

  • 确保你在 pages.jsoncomponents 目录中正确引入了组件。
  • 如果是全局组件,需要在 main.jsapp.vue 中注册。

2. 组件命名冲突

  • 组件的文件名或路径可能与其他组件冲突,导致编译时被覆盖或忽略。
  • 检查组件文件名是否唯一,避免重复。

3. 组件未正确编译

  • uni-app 在编译时可能会过滤掉未使用的组件或样式。
  • 确保组件在代码中被实际使用,或者通过 easycom 配置自动引入。

4. 样式作用域问题

  • 如果使用了 scoped 样式,可能会导致样式无法应用到小程序组件中。
  • 尝试移除 scoped,或者使用全局样式。

5. 小程序平台的限制

  • 小程序平台对某些 JSCSS 特性支持有限,可能导致部分代码被忽略。
  • 检查是否有不兼容的语法或特性,例如 v-ifv-for 等指令在小程序中的支持情况。

6. 编译配置问题

  • 检查 manifest.json 中的小程序配置是否正确。
  • 确保 vue.config.jswebpack 配置没有错误。

7. 缓存问题

  • 编译时可能存在缓存,导致未正确更新代码。
  • 尝试清除 uni-app 编译缓存,重新编译:
    npm run dev:mp-wechat -- --clear
回到顶部