"easycom": {
"autoscan": true,
"custom": {
"uni-(.)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue", // 匹配node_modules内@dcloudio的vue文件
"cu-(.)": "@/components/custom/cu-$1/cu-$1.vue" // 匹配components目录内的vue文件
}
}
- 发布:2020-05-13 12:52
- 更新:2020-05-22 18:25
- 阅读:3572
产品分类: uniapp/H5
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 10.13.6
HBuilderX类型: 正式
HBuilderX版本号: 2.6.16
浏览器平台: Chrome
浏览器版本: 版本 84.0.4128.3(正式版本)dev (64 位)
项目创建方式: HBuilderX
App下载地址或H5⽹址: 无
示例代码:
操作步骤:
(1)pages.json里面自定义配置easycom,见BUG描述,npm安装uni-ui
(2)运行-》运行到浏览器-》chrome
(1)pages.json里面自定义配置easycom,见BUG描述,npm安装uni-ui
(2)运行-》运行到浏览器-》chrome
预期结果:
可正常编译通过
可正常编译通过
实际结果:
uni-ui内的扩展组件编译报错
uni-ui内的扩展组件编译报错
bug描述:
Uniapp自定义组件模式下,对EasyCom自定义配置,运行H5平台编译出现uni-ui内部组件(uni-calendar)找不到组件(uni-calendar-item)的错误信息,疑问:EasyCom的配置是否会影响npm依赖的uni-ui组件编译找不到其他vue文件的问题,easycom的配置如下:
"easycom": {
"autoscan": true,
"custom": {
"uni-(.)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue", // 匹配node_modules内@dcloudio的vue文件
"cu-(.)": "@/components/custom/cu-$1/cu-$1.vue" // 匹配components目录内的vue文件
}
}
官网有一段说明:在组件名完全一致的情况下,easycom引入的优先级低于手动引入(区分连字符形式与驼峰形式)。
uni-calendar.vue里面实际上是有手动引入的,但是编译时直接根据easycom的配置做了匹配,匹配不到就报错了,并没有识别到本页面的手动引入。
经过实测,修改引入名称:import calendarItem from './uni-calendar-item.vue',这样既可编译通过,因此个人认为,uni-calendar-item.vue应该单独分一个目录出来和uni-calendar目录同级可解决