支付宝小程序框架 自定义组件·发布

2020-09-18 10:34 更新

支付宝小程序原生支持引入第三方 npm 模块。因此,自定义组件也支持发布到 npm,方便开发者复用和分享。

文件结构

以下是发布自定义组件的推荐文件结构,仅供参考 。

  1. ├── src // 单个自定义组件文件夹
  2. ├── index.js
  3. ├── index.json
  4. ├── index.axml
  5. ├── index.acss
  6. └── demo // 自定义组件的演示 Demo 文件夹
  7. ├── index.js
  8. ├── index.json
  9. ├── index.axml
  10. └── index.acss
  11. ├── app.js // 为自定义组件小程序 Demo 配置 app.js 文件
  12. ├── app.json
  13. └── app.acss

JSON 示例

  1. // package.json
  2. {
  3. "name": "your-custom-compnent",
  4. "version": "1.0.0",
  5. "description": "your-custom-compnent",
  6. "repository": {
  7. "type": "git",
  8. "url": "your-custom-compnent-repository-url"
  9. },
  10. "files": [
  11. "es"
  12. ],
  13. "keywords": [
  14. "custom-component",
  15. "mini-program"
  16. ],
  17. "devDependencies": {
  18. "rc-tools": "6.x"
  19. },
  20. "scripts": {
  21. "build": "rc-tools run compile && node scripts/cp.js && node scripts/rm.js",
  22. "pub": "git push origin && npm run build && npm publish"
  23. }
  24. }

js 文件示例

  1. // scripts/cp.js
  2. const fs = require('fs-extra');
  3. const path = require('path');
  4. // copy file
  5. fs.copySync(path.join(__dirname, '../src'), path.join(__dirname, '../es'), {
  6. filter(src, des){
  7. return !src.endsWith('.js');
  8. }
  9. });
  10. // scripts/rm.js
  11. const fs = require('fs-extra');
  12. const path = require('path');
  13. // remove unnecessary file
  14. const dirs = fs.readdirSync(path.join(__dirname, '../es'));
  15. dirs.forEach((item) => {
  16. if (item.includes('app.') || item.includes('DS_Store') || item.includes('demo')) {
  17. fs.removeSync(path.join(__dirname, '../es/', item));
  18. } else {
  19. const moduleDirs = fs.readdirSync(path.join(__dirname, '../es/', item));
  20. moduleDirs.forEach((item2) => {
  21. if (item2.includes('demo')) {
  22. fs.removeSync(path.join(__dirname, '../es/', item, item2));
  23. }
  24. });
  25. }
  26. });
  27. fs.removeSync(path.join(__dirname, '../lib/'));
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号