uni-app uni-ui通过配置easycom打包app后uni-icons图标不显示
uni-app uni-ui通过配置easycom打包app后uni-icons图标不显示
操作步骤:
上述代码
预期结果:
希望uni-icons正常显示
实际结果:
uni-icons显示不正常
bug描述:
uni-ui通过配置easycom打包app后uni-icons看不到图标,只显示一个框框,应该是字体没有加载
开发环境正常,自定义基座运行正常,就打包正式版后就不显示icon
easycom的配置:
"easycom": {
"autoscan": true,
"custom": {
"^uni-((?!(shadow-root)).*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" //这里排除了uni-shadow-root
}
}
页面使用组件:图标看不到
<uni-icons class="icon" type="locked" size="24" />
如果在easycom排除uni-icons,把uni-icons复制到\components目录下就正常
easycom的配置:
"easycom": {
"autoscan": true,
"custom": {
"^uni-((?!(shadow-root|icons)).*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue" //这里排除了uni-shadow-root,uni-icons
}
}
开发环境信息
项目 | 详情 |
---|---|
产品分类 | uniapp/App |
PC开发环境操作系统 | Windows |
PC开发环境操作系统版本号 | win10 64位 |
HBuilderX类型 | 正式 |
HBuilderX版本号 | 2.9.8 |
手机系统 | Android |
手机系统版本号 | Android 8.0 |
手机厂商 | 华为 |
手机机型 | 所有手机 |
页面类型 | vue |
打包方式 | 云端 |
项目创建方式 | HBuilderX |
同个问题.我也是npm的,也排除了 shadow-root
icons真机调试正常,打包后不显示~
同样的问题,我也是npm下的uni组件库,然后通过easycom加载,基座啥的图标都正常显示,打包发布后图标就不显示了。
坑爹。
uni组件库版本1.2.5
我也出现这样的问题,怎么解决?
这个问题,官方难道都不重视吗?
可以把uni-icons也排除掉,然后把uni-icons复制到components目录
我也遇到这个问题,请问大家有解决方法吗
同问题,大家解决了吗
我的按照上面的忽略了,图标还是一个叉叉,怎么整,要崩溃了
同问题,如何解决呢
在处理使用uni-app和uni-ui库通过easycom打包APP后uni-icons图标不显示的问题时,通常这类问题涉及到图标的路径、资源打包配置或者样式冲突等方面。以下是一些可能帮助你解决问题的代码案例和检查步骤,这些步骤基于常见的打包和部署问题:
1. 检查图标路径和引用方式
首先,确保你的项目中正确引入了uni-icons库,并且图标的类名使用无误。以下是一个简单的示例:
<template>
<view>
<text class="uni-icon-home"></text>
</view>
</template>
<style>
@import "~@dcloudio/uni-ui/lib/uni-icons/uni-icons.scss";
</style>
注意:这里使用了SCSS语法来导入图标样式,确保你的构建系统支持SCSS。如果不支持,你可能需要转换为CSS或者相应的预处理步骤。
2. 配置easycom打包选项
检查你的easycom打包配置文件,确保资源文件(包括图标)被正确包含在内。例如,如果你的图标是内嵌在SCSS文件中的,确保SCSS文件被正确处理:
// easycom.config.js
module.exports = {
// 其他配置...
webpackChain: (chain) => {
chain.module.rule('scss')
.test(/\.scss$/)
.use('sass-loader')
.loader('sass-loader')
.options({
// 根据需要配置options
});
},
// 确保资源目录被包含
copy: [
{
from: 'static',
to: 'static',
toType: 'dir'
}
]
};
3. 检查样式冲突
有时候图标不显示可能是由于样式冲突导致的。检查是否有其他样式覆盖了图标的显示,例如:
.uni-icon-home {
display: none; /* 确保没有这样的样式 */
}
4. 清理和重建
在进行了上述更改后,确保清理旧的构建缓存并重新构建项目:
# 清理(如果easycom支持此命令)
easycom clean
# 重建
easycom build
5. 测试和调试
最后,在真机或模拟器上测试应用,看图标是否能够正确显示。如果问题依旧,可能需要进一步检查图标的源文件是否损坏或格式不兼容。
通过上述步骤,你应该能够定位并解决uni-icons图标在通过easycom打包后不显示的问题。如果问题仍然存在,可能需要更详细地检查打包日志或寻求uni-app和easycom社区的帮助。