1***@qq.com
1***@qq.com
  • 发布:2022-07-06 14:33
  • 更新:2024-10-06 11:31
  • 阅读:7320

【uniapp开发(结合vue2)】想使用uniapp扩展组件,却遇到Cannot find module '@dcloudio/uni-ui/lib/uni-***/uni-***.vue'

分类:uni-app

想使用uniapp扩展组件(npm安装+easycom配置),却遇到Cannot find module '@dcloudio/uni-ui/lib/uni-/uni-.vue',不能找到某模块

为了实现一些功能,借用了一些开源UI框架,PC端app模拟器测试时,好好地;而真机测试时,令人唏嘘不已。哎~难受~还是瞅瞅扩展组件吧~

下面跟大家分享一下,npm安装+easycom配置,安装uniapp扩展组件是的一个注意点。(本次分享,也是自己的笔记记录,分享有点长,可以认真看完也可以选择阅读,各位道友请自便)
【分享重点:主要是easycom,本着优化性能的原则的设计,没想到有点小瑕疵,解决这个小瑕疵】
npm安装uniapp扩展组件,根据官方安装介绍步骤正常进行,如下(更小的细节,像使用限制版本等,见官文):

1、根目录新建并配置 vue.config.js文件

// vue.config.js  
module.exports = {  
        transpileDependencies:['@dcloudio/uni-ui']  
}

2、准备 sass

// 安装 sass  
npm i sass -D   或   yarn add sass -D   
// 安装 sass-loader  
npm i sass-loader@10.1.1 -D   或   yarn add sass-loader@10.1.1 -D  
(安装时可以不指定版本号)

3、安装 uni-ui

npm i @dcloudio/uni-ui   或   yarn add @dcloudio/uni-ui

4、配置easycom(最关键的一步,也是找不到模块组件的问题所在)

//官方建议这么配置  
// pages.json  
{  
    "easycom": {  
        "autoscan": true,  
        "custom": {  
            // uni-ui 规则如下配置  
            "^uni-(.*)": "@dcloudio/uni-ui/lib/uni-$1/uni-$1.vue"  
        }  
    },  

    // 其他内容  
    pages:[  
        // ...  
    ]  
}

按理说,配置完之后就可以正常使用扩展组件了,但控制台出现了最不想见到的红色:Cannot find module........
其实easycom配置的规范样式并没有错,更深入的仔细看会发现安装的node模块下@dcloudio/uni-ui中并没有lib目录,所以找不到模块是正常的。

顺藤摸瓜,根据自己的模块目录自己将目录配置完整,就可以正常用扩展组件了。
我顺着模块目录,更改后的配置如下:

"easycom": {  
            "autoscan": true,  
            "custom": {  
                "^uni-(.*)": "@dcloudio/uni-ui/uni_modules/uni-$1/components/uni-$1/uni-$1.vue"  
            }  
        },

还有一个注意点,还要提醒初次配置扩展组件的道友注意,每次配置完easycom,需要重启项目或HBuilder,配置才会生效。
分享结束。

1 关注 分享
1***@qq.com

要回复文章请先登录注册

1***@qq.com

1***@qq.com

感谢,解决我的问题了
2024-10-06 11:31