美文网首页
如何开发一个小程序自定义组件库

如何开发一个小程序自定义组件库

作者: 嗯这是网名 | 来源:发表于2022-05-07 11:38 被阅读0次

    一、官方脚手架

    二、特性

    • 支持使用 less 语法编写 wxss 文件
    • 使用 webpack 构建 js
    • 支持自定义组件单元测试
    • 支持 eslint
    • 支持多入口构建
      三、项目结构
    |--miniprogram_dev // 开发环境构建目录
    |--miniprogram_dist // 生产环境构建目录
    |--src // 源码
    |   |--components // 通用自定义组件
    |   |--images // 图片资源
    |   |
    |   |--xxx.js/xxx.wxml/xxx.json/xxx.wxss // 暴露的 js 模块/自定义组件入口文件
    |
    |--test // 测试用例
    |--tools // 构建相关代码
    |   |--demo // demo 小程序目录,开发环境下会被拷贝生成到 miniprogram_dev 目录中
    |   |--config.js // 构建相关配置文件
    |
    |--gulpfile.js
    

    四、配置文件config配置

    module.exports = {
      //入口 如果组件都在src/components下,则配置为components,否则配置为对应路径
      entry: ['components'],
      isDev,
      isWatch,
      srcPath: src, // 源目录
      distPath: isDev ? dev : dist, // 目标目录
    
      demoSrc, // demo 源目录
      demoDist, // demo 目标目录
    
      wxss: {
        less: true, // 使用 less 来编写 wxss
        sourcemap: false, // 生成 less sourcemap
      },
      js: {
        webpack: true, // 使用 webpack 来构建 js
      },
      copy: {
        src: ['./static/**/*', './**/*.wxss', './**/*.wxs']
      }, // 不需要编译的静态文件直接copy
      
    

    五、开发预览

    npm run watch
    

    执行后将会编译tools/demo下的文件,到目录miniprogram_dev

    打开微信开发者工具,将此文件夹导入,即可预览

    此后每次更改demo中的文件即可实时预览

    六、发布组件库到npm

    npm run build
    

    执行后将会编译src下的文件,到目录miniprogram_dist

    切换到此目录,执行

    npm init
    

    生成好package.json后,添加以下代码,作用是声明此仓库是小程序自定义组件包,否则小程序将以常规npm包去编译找入口文件,造成编译错误

    "miniprogram": "weapp"
    

    七、使用npm包

    npm install xxx
    

    更改小程序项目配置project.config.json

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

    点击开发者工具顶部工具>构建npm
    将会在项目顶层生成miniprogram_npm文件夹,此处以vant为例

    |--miniprogram_npm
    |   |--@vant
    |   |--  |--weapp
    |   |--  |--  |--button
    

    页面中使用

    {
      "navigationBarTitleText": "首页",
      "usingComponents": {
        "van-button": "@vant/weapp/button/index"
      }
    }
    

    参考:
    微信小程序使用npm包

    相关文章

      网友评论

          本文标题:如何开发一个小程序自定义组件库

          本文链接:https://www.haomeiwen.com/subject/lgaturtx.html