Observed since 20 Oct, 19:01 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
233digi-redpack
小程序自定义组件开发模板:
小程序自定义组件开发模板:
npm install
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 变动并进行拷贝。
生成的 miniprogram_dev 目录是一个小程序项目目录,以此目录作为小程序项目目录在开发者工具中打开即可查看自定义组件被使用的效果。
进阶:
ps: 发布前得确保已经执行构建,小程序 npm 包只有构建出来的目录是真正被使用到的。
npm adduser
或者
npm login
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
npm run test-debug
npm run coverage
测试用例放在 test 目录下,使用 miniprogram-simulate 工具集进行测试,点击此处查看使用方法。在测试中可能需要变更或调整工具集中的一些方法,可在 test/utils 下自行实现。
npm run clean
npm run clean-dev
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
wx-axios-promiseEnvironment{
"local_name": "wx-axios-promise",
"alias": false,
"peer_metadata": null
} | ^2.4.1 | runtime |
@typescript-eslint/eslint-pluginEnvironment{
"local_name": "@typescript-eslint/eslint-plugin",
"alias": false,
"peer_metadata": null
} | ^2.28.0 | development |
@typescript-eslint/parserEnvironment{
"local_name": "@typescript-eslint/parser",
"alias": false,
"peer_metadata": null
} | ^2.28.0 | development |
babel-coreEnvironment{
"local_name": "babel-core",
"alias": false,
"peer_metadata": null
} | ^6.26.3 | development |
babel-loaderEnvironment{
"local_name": "babel-loader",
"alias": false,
"peer_metadata": null
} | ^7.1.5 | development |
babel-plugin-module-resolverEnvironment{
"local_name": "babel-plugin-module-resolver",
"alias": false,
"peer_metadata": null
} | ^3.2.0 | development |
babel-preset-envEnvironment{
"local_name": "babel-preset-env",
"alias": false,
"peer_metadata": null
} | ^1.7.0 | development |
colorsEnvironment{
"local_name": "colors",
"alias": false,
"peer_metadata": null
} | ^1.3.1 | development |
eslintEnvironment{
"local_name": "eslint",
"alias": false,
"peer_metadata": null
} | ^5.14.1 | development |
eslint-config-airbnb-baseEnvironment{
"local_name": "eslint-config-airbnb-base",
"alias": false,
"peer_metadata": null
} | 13.1.0 | development |
eslint-loaderEnvironment{
"local_name": "eslint-loader",
"alias": false,
"peer_metadata": null
} | ^2.1.2 | development |
eslint-plugin-importEnvironment{
"local_name": "eslint-plugin-import",
"alias": false,
"peer_metadata": null
} | ^2.16.0 | development |
eslint-plugin-nodeEnvironment{
"local_name": "eslint-plugin-node",
"alias": false,
"peer_metadata": null
} | ^7.0.1 | development |
eslint-plugin-promiseEnvironment{
"local_name": "eslint-plugin-promise",
"alias": false,
"peer_metadata": null
} | ^3.8.0 | development |
gulpEnvironment{
"local_name": "gulp",
"alias": false,
"peer_metadata": null
} | ^4.0.0 | development |
gulp-cleanEnvironment{
"local_name": "gulp-clean",
"alias": false,
"peer_metadata": null
} | ^0.4.0 | development |
gulp-ifEnvironment{
"local_name": "gulp-if",
"alias": false,
"peer_metadata": null
} | ^2.0.2 | development |
gulp-installEnvironment{
"local_name": "gulp-install",
"alias": false,
"peer_metadata": null
} | ^1.1.0 | development |
gulp-lessEnvironment{
"local_name": "gulp-less",
"alias": false,
"peer_metadata": null
} | ^4.0.1 | development |
gulp-renameEnvironment{
"local_name": "gulp-rename",
"alias": false,
"peer_metadata": null
} | ^1.4.0 | development |
gulp-sourcemapsEnvironment{
"local_name": "gulp-sourcemaps",
"alias": false,
"peer_metadata": null
} | ^2.6.5 | development |
jestEnvironment{
"local_name": "jest",
"alias": false,
"peer_metadata": null
} | ^23.5.0 | development |
miniprogram-api-typingsEnvironment{
"local_name": "miniprogram-api-typings",
"alias": false,
"peer_metadata": null
} | ^2.10.3-1 | development |
miniprogram-simulateEnvironment{
"local_name": "miniprogram-simulate",
"alias": false,
"peer_metadata": null
} | ^1.2.5 | development |
thread-loaderEnvironment{
"local_name": "thread-loader",
"alias": false,
"peer_metadata": null
} | ^2.1.3 | development |
through2Environment{
"local_name": "through2",
"alias": false,
"peer_metadata": null
} | ^2.0.3 | development |
ts-loaderEnvironment{
"local_name": "ts-loader",
"alias": false,
"peer_metadata": null
} | ^7.0.0 | development |
typescriptEnvironment{
"local_name": "typescript",
"alias": false,
"peer_metadata": null
} | ^3.8.3 | development |
vinylEnvironment{
"local_name": "vinyl",
"alias": false,
"peer_metadata": null
} | ^2.2.0 | development |
webpackEnvironment{
"local_name": "webpack",
"alias": false,
"peer_metadata": null
} | ^4.29.5 | development |
webpack-node-externalsEnvironment{
"local_name": "webpack-node-externals",
"alias": false,
"peer_metadata": null
} | ^1.7.2 | development |
Source distribution
{
"integrity": "sha512-RCnqGJuenMHG57bpcPwCIoTMjlttjadOwTJHgYM+uPSxVaVjmMYe+ir95ImCjtsBdsc2MqUPU9T6KK+uo+qCZw==",
"shasum": "6f531d9d8666b129a1244cf7358b340ffe89664e",
"tarball": "https://registry.npmjs.org/233digi-redpack/-/233digi-redpack-1.0.2.tgz",
"fileCount": 38,
"unpackedSize": 91072,
"npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfp8DiCRA9TVsSAnZWagAAyYIP/1NzcRtZDZMBFn4b51Fz\nUa7vnIcVQfj3ijWXVH8hNijzcOYeE6ngNHpoqmw+YfViYxzmjZGH15jkjHGG\n1k2cpF0XX7pKdqaKCBvwJmw7Ab+DGZfUpYXq4CE8iGIqMZ/AuySz1dUJ07GR\nYbn1RQJmgugATcuBDYssuP1prb58rD3yBMBXhP02xaqDUoyzfexImKIj7a//\nkxS8HfIqn5Ms1Vlpn5qNQUHSFM1C9JOl3uj7cMszuP8202fXbbRHzJPlcF3m\ny6ftSpX34KbXS2aGVm5XH/afn/QXebeMRH73ncH5CZsevPJCpEJfF0WAd58p\nXq7hdBIv7AWIzeiKZgJDhyveQk4Kz+iuTNiT2r8ujHe7EBlxhnQhbdaEiPVs\nZUgAG2Tdwu7cyFhOsFsQEwORb99bxHesXu+KT3ql2OKJSveNnW/MNfll8Nu+\n/Ga3HJWhRZg2kUvwpE28nafzfWevaaJLBgSj6m62nFt5ipZRx4K5OzB2GDJ1\nO4nsOd6y62U3suuP48z/V2Gxc1GWvMMW4nUaNA5SKO8HzEfMRL/x6bZRhIkt\n1+F0+JA73zWMydS/FpGLi7xT1RkrTOlgR7BMiiVL9iGXAM4FOBTbjdbNFQHQ\nR/JoVF9c30ailit2Yc9qmJ9u39yL2K/sKffE10yYBBPxBOG5S/2hyZe/b9eW\ncuDW\r\n=ay5q\r\n-----END PGP SIGNATURE-----\r\n",
"signatures": [
{
"keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
"sig": "MEUCIQDrbS54JWXzJD1Cp4Y1n7/NGxLjLu7OCAu/lnbkzufacAIgbWGzQ4rws/y2NReEG5Rp5BRhMmFqKa13jmYtdgGnu+Q="
}
]
}Observed since 20 Oct, 19:01 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:00a612c52ca864a783738fb2da285d09945534068489edbf2dfbb1d7102b789f