• Stars
    star
    197
  • Rank 196,929 (Top 4 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 6 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

miniprogram-custom-component

小程序自定义组件开发模板:

  • 支持使用 less 语法编写 wxss 文件
  • 使用 webpack 构建 js
  • 支持自定义组件单元测试
  • 支持 eslint
  • 支持多入口构建

使用

开发

  1. 安装依赖:
npm install
  1. 执行命令:
npm run dev

默认会在包根目录下生成 miniprogram_dev 目录,src 中的源代码会被构建并生成到 miniprogram_dev/components 目录下。如果需要监听文件变化动态构建,则可以执行命令:

npm run watch

ps: 如果 minirpogram_dev 目录下已存在小程序 demo,执行npm run dev则不会再将 tools 下的 demo 拷贝到此目录下。而执行npm run watch则会监听 tools 目录下的 demo 变动并进行拷贝。

  1. 生成的 miniprogram_dev 目录是一个小程序项目目录,以此目录作为小程序项目目录在开发者工具中打开即可查看自定义组件被使用的效果。

  2. 进阶:

  • 如果有额外的构建需求,可自行修改 tools 目录中的构建脚本。
  • 内置支持 webpack、less 语法、sourcemap 等功能,默认关闭。如若需要可以自行修改 tools/config.js 配置文件中相关配置。
  • 内置支持多入口构建,如若需要可自行调整 tools/config.js 配置文件的 entry 字段。
  • 默认开启 eslint,可自行调整规则或在 tools/config.js 中注释掉 eslint-loader 行来关闭此功能。

发布

ps: 发布前得确保已经执行构建,小程序 npm 包只有构建出来的目录是真正被使用到的。

  1. 如果还没有 npm 帐号,可以到 npm 官网注册一个 npm 帐号。
  2. 在本地登录 npm 帐号,在本地执行:
npm adduser

或者

npm login
  1. 在已完成编写的 npm 包根目录下执行:
npm publish

到此,npm 包就成功发布到 npm 平台了。

PS:一些开发者在开发过程中可能修改过 npm 的源,所以当进行登录或发布时需要注意要将源切回 npm 的源。

目录结构

以下为推荐使用的目录结构,如果有必要开发者也可以自行做一些调整:

|--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

PS:对外暴露的 js 模块/自定义组件请放在 src 目录下,不宜放置在过深的目录。另外新增的暴露模块需要在 tools/config.js 的 entry 字段中补充,不然不会进行构建。

测试

  • 执行测试用例:
npm run test
  • 执行测试用例并进入 node inspect 调试:
npm run test-debug
  • 检测覆盖率:
npm run coverage

测试用例放在 test 目录下,使用 miniprogram-simulate 工具集进行测试,点击此处查看使用方法。在测试中可能需要变更或调整工具集中的一些方法,可在 test/utils 下自行实现。

其他命令

  • 清空 miniprogram_dist 目录:
npm run clean
  • 清空 miniprogam_dev 目录:
npm run clean-dev

More Repositories

1

miniprogram-demo

微信小程序组件 / API / 云开发示例
JavaScript
6,576
star
2

minigame-unity-webgl-transform

Wechat Mini Game Unity engine adapter documents.
C
2,856
star
3

weui-miniprogram

小程序WeUI组件库
TypeScript
2,070
star
4

threejs-miniprogram

WeChat MiniProgram adapted version of Three.js
JavaScript
692
star
5

api-typings

Type definitions for APIs of Wechat Mini Program in TypeScript
TypeScript
673
star
6

computed

小程序自定义组件 computed / watch 扩展
TypeScript
654
star
7

recycle-view

recycle-view: a wechat miniprogram custom component
JavaScript
620
star
8

miniprogram-simulate

小程序自定义组件测试工具集
JavaScript
487
star
9

kbone-ui

kbone-ui 是一套能同时支持 小程序(kbone) 和 vue 框架开发的多端 UI 库(PS:新版 kbone-ui 已出炉并迁移到 kbone 主仓库,此仓库仅做旧版维护之用)
Vue
439
star
10

sm-crypto

miniprogram sm crypto library
JavaScript
414
star
11

kbone-template-vue

a simple vue template for kbone
JavaScript
350
star
12

lottie-miniprogram

lottie for miniprogram
JavaScript
337
star
13

minigame-canvas-engine

轻量级canvas2d渲染引擎,开放数据域开发解决方案。
JavaScript
263
star
14

miniprogram-component-plus

JavaScript
253
star
15

slide-view

weapp custom component -- slide-view
JavaScript
185
star
16

mobx-miniprogram-bindings

小程序的 MobX 绑定辅助库
TypeScript
175
star
17

glass-easel

Multiple-backend declarative component-based JavaScript framework
TypeScript
172
star
18

minigame-demo

微信小游戏组件 / API / 云开发示例
JavaScript
150
star
19

navigation-bar

weapp custom component -- navigation-bar
JavaScript
148
star
20

wxml-to-canvas

JavaScript
146
star
21

kbone-template-react

a simple react template for kbone
JavaScript
134
star
22

minigame-adaptor

C#
131
star
23

miniprogram-i18n

小程序国际化方案 / The internationalizational (i18n) library for wechat miniprogram
TypeScript
129
star
24

miniprogram-slim

JavaScript
123
star
25

h5-to-miniprogram

a simple tool for transforming h5 to miniprogam
JavaScript
113
star
26

minigame-api-typings

Type definitions for APIs of Wechat Mini Game in TypeScript
TypeScript
106
star
27

minigame-lockstep-demo

JavaScript
102
star
28

awesome-skyline

94
star
29

kbone-api

TypeScript
73
star
30

skylint

Skyline 小程序迁移工具. Migration assistant for Skyline miniapp.
TypeScript
69
star
31

miniprogram-cli

JavaScript
68
star
32

miniprogram-compat

微信小程序 js 执行环境的兼容信息
JavaScript
66
star
33

mpflow

TypeScript
61
star
34

miniprogram-api-promise

JavaScript
59
star
35

miniprogram-file-uploader

JavaScript
57
star
36

xr-frame-cli

Tools for xr-frame in wechat miniprogram.
TypeScript
50
star
37

kbone-template-kboneui

JavaScript
43
star
38

j-component

a mock minprogram component framework
JavaScript
43
star
39

miniprogram-gesture

微信小程序手势库
JavaScript
39
star
40

h5-to-miniprogram-demo

一个简单的使用 h5-to-miniprogram 工具进行 h5 页面转换成小程序的 demo
JavaScript
31
star
41

miniprogram-elder-transform

小程序适老化自动适配工具
TypeScript
31
star
42

miniprogram-barrage

JavaScript
23
star
43

minigame-tuanjie-transform-sdk

JavaScript
22
star
44

miniprogram-hooks

小程序自定义组件 hooks
JavaScript
20
star
45

miniprogram-cloudbase-meeting-demo

云开发直播运营活动 demo
JavaScript
17
star
46

kbone-template-preact

a simple preact template for kbone
JavaScript
12
star
47

miniprogram-game-quickstart

JavaScript
12
star
48

wechat-miniprogram.github.io

HTML
11
star
49

miniprogram-quickstart

JavaScript
10
star
50

gtktest

Flutter linux demo with webview.
C++
9
star
51

miniprogram-offline-demo

小程序弱网/离线 demo
JavaScript
9
star
52

miniprogram-data-panel

小程序数据面板组件
JavaScript
6
star
53

xnet-miniprogram

Python
6
star
54

router

JavaScript
4
star
55

babel-preset-miniprogram

微信小程序 babel 构建环境预设
JavaScript
2
star
56

minigame-playable

TypeScript
2
star
57

miniprogram-mock

mock api for miniprogram
JavaScript
1
star
58

mp-user-avatar

TypeScript
1
star