1.0.6 • Published 3 years ago

@hyext/ext-sdk-basic-inner v1.0.6

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

开发思路

  • 多端适配:src/platfroms/[rn] 下是各个端的适配代码,最终将注册到SDK核心extsdk.core
  • 统一入口:src/modules 下是所有要暴露的API接口,通过SDK核心回溯某个模块某个APIextsdk.core.callEvent
  • 根据任务配置构建出不同平台的SDK;

SDK核心

引用

import extsdk from "@hyext/ext-sdk-basic";

API

注册模块 extsdk.core.injectModules

示例:

extsdk.core.injectModules({
  'moduleName': {
    'api': function(param) {
      return param;
    }
  },
});

异步接口回溯 extsdk.core.callEvent

示例:

extsdk.core.callEvent('moduleName', 'api', {}).then(res => {
  console.log('call moduleName.api success:', res);
}).catch(err => {
  console.log('call moduleName.api fail:', err);
});

同步接口回溯 extsdk.core.callEventSync

示例:

const res = extsdk.core.callEventSync('moduleName', 'api', {});
console.log('call moduleName.api success:', res);

目录说明

├── src                        // 开发目录
│   ├── modules                // 所有要暴露的API模块,通过核心回溯调用注册的方法
│   ├── platforms              // 各个平台逻辑代码
│   │   └── rn                 // 平台代码
│   │       ├── adapter        // 平台适配代码,实现与平台通信,默认事件;
│   │       ├── modules        // 平台自定义模块代码,部分模块的特殊处理逻辑;
│   │       └── index.js       // 平台入口文件,将平台适配器和模块代码添加到核心;
│   ├── entry                  // SDK编译入口,具体内容脚本会根据配置 project.config.json 生成
│   │   └── taskName           // 平台编译配置,任务名为文件夹名;
│   │       ├── config.js      // SDK环境配置信息,env、version等,多平台公用,脚本生成;
│   │       ├── api.js         // 引入要编译的模块,脚本生成;
│   │       └── index.js       // 编译入口文件,脚本生成;
├── package.json               // 项目配置
└── project.config.json        // SDK构建配置

构建配置

  • project.config.json
{
  "mainPath": "src",
  "releasePath": "release",
  "outputPath": "dist",
  "defaultModules": [],
  "modulesPath": "src/modules",
  "platformsPath": "src/platforms",
  "buildEntryPath": "src/entry",
  "buildTarget": "extsdk",
  "demoPath": "./demo",
  "buildTasks": {
    "rn": {
      "addBasicBaseModules": true,
      "platform": {
        "entry": "src/platforms/rn",
        "buildTool": "metro"
      },
      "npmConfig": {
        "name": "@hyext/ext-sdk-template"
      }
    }
  }
}
1.0.7-beta.0

3 years ago

1.0.6

3 years ago

1.0.6-beta.2

3 years ago

1.0.6-beta.1

3 years ago

1.0.5

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago