评论

微信小程序前端开发踩坑——引入weui组件库

本文介绍了如何在小程序前端开发中引入weui组件库

前言

今天在写微信小程序前端页面,想引入weui组件库来完成开发。结果按着官方文档来遇到了一堆问题,最后靠着不断百度查资料才最终解决。所以将过程记录一下,避免后面再遇到这类坑。
注意:本文默认读者已知道怎么使用npm

1. 初始化

以管理员身份运行命令行窗口(cmd),在cmd中进入项目的根目录。然后输入以下命令:

npm init

后面一路按回车健即可,最终会在项目的根目录中创建出一个名为package.json的文件。

2. 安装weui组件库

在cmd中紧接着输入以下命令:

npm install weui-miniprogram

命令执行完毕后会多出来一个node_modules文件夹,里面包含了weui组件库。

3. 构建npm

在微信开发者工具中,选择“工具”->“构建npm”。如无意外会出现类似“没有找到可以构建的NPM包……”这样的报错。
这时就需要在项目根目录找到package.config.json文件,修改相关的配置如下:

{
  ...
  "setting": {
    ...
    "packNpmManually": true,
    "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./"
      }
    ]
  }
}

继续在开发者工具中的“详情”->“本地设置”里检查是否勾选上“使用npm模块”选项,若没勾选则勾选上。
完成上述配置后,重新构建npm,即可构建完成。

4. 重启项目

在开发者工具中“项目”->“重新打开此项目”,完成对项目的重启。
注意:这一步非常重要!!!否则引入组件会提示找不到文件!!!

5. 引入wxss

在app.wxss中,引入weui库的wxss文件

@import 'miniprogram_npm/weui-miniprogram/weui-wxss/dist/style/weui.wxss';

引入时要根据实际情况调整路径,但最长后缀均为

/weui-miniprogram/weui-wxss/dist/style/weui.wxss

6. 引入组件

在想要使用组件的页面对应的js文件中,对组件进行的引入。一定要注意自己项目的目录结构!!!

而官方文档的写法是

如果直接照搬官方文档的写法,则忽略了目录结构,会报错!!

接着在要使用组件的页面对应的wxml文件中使用该组件即可

<mp-dialog title="test" show="{{true}}" bindbuttontap="tapDialogButton" buttons="{{[{text: '取消'}, {text: '确认'}]}}">
    <view>test content</view>
</mp-dialog>

效果如下:

后记

不得不说,前端开发的坑实在是太多了,上面记录的过程我摸索了一个多小时。看来平时一定要多注意总结才行,不然真的非常消耗时间!!!

创作不易,觉得有用麻烦点个赞,谢谢~~~

最后一次编辑于  2022-01-11  
点赞 27
收藏
评论

19 个评论

  • Nobita
    Nobita
    2022-04-27

    必须给个赞,以为官方的文档都是完全经得起推敲的,想学习一下,直接卡在第一步,直接在第一步卡死,看样子他们都没验证过。

    2022-04-27
    赞同
    回复
  • Frankly
    Frankly
    2022-03-03

    请问官方的组件使用文档在哪里呀?这个和jquery weui有什么区别吗?

    2022-03-03
    赞同
    回复 1
  • Mr.W
    Mr.W
    2022-03-01

    为什么npm引入后的代码包会变大300多KB?这有方法解决吗

    2022-03-01
    赞同
    回复 2
    • 晨曦
      晨曦
      2022-03-01
      没办法的。你引入了一个外部组件库进来,相当于在你原来的代码上添加了组件库的代码,代码包肯定会变大。
      2022-03-01
      回复
    • Mr.W
      Mr.W
      2022-03-02回复晨曦
      好的谢谢你
      2022-03-02
      回复
  • 耿霄
    耿霄
    2022-02-23

    确实好使,点赞

    2022-02-23
    赞同
    回复
  • ㅤ ㅤ
    ㅤ ㅤ
    2022-02-21

    这个分享太赞了!对于我这种前端技术不是很好的后端人员来讲你这文章很详细了。

    2022-02-21
    赞同
    回复 2
    • 晨曦
      晨曦
      2022-03-01
      毕竟我也是后端人员,可能更能感同身受吧hhh~
      2022-03-01
      回复
    • Cyan5
      Cyan5
      2022-07-07回复晨曦
      请问详情那里没看到有使用npm选项怎么办
      2022-07-07
      回复
  • 崔萝莉
    崔萝莉
    2022-01-11

    也是看了官方资料,在网上又找了一圈。终于发现这个帖子了。感觉是保姆级教程。提一个bug修改——这时就需要在项目根目录找到package.config.js文件“”中package.config.js应该是project.config.json

    2022-01-11
    赞同
    回复 1
    • 晨曦
      晨曦
      2022-01-11
      已修改。感谢提醒。
      2022-01-11
      回复
  • 做事靠自己成功靠别人
    做事靠自己成功靠别人
    2021-12-14

    必须给个赞,特别感谢

    2021-12-14
    赞同
    回复
  • PD
    PD
    2021-11-17

    感谢大佬分享,未来估计会用到

    2021-11-17
    赞同
    回复
  • 谋谋谋
    谋谋谋
    2021-11-16

    学到了 针不戳

    2021-11-16
    赞同
    回复

正在加载...

登录 后发表内容