0.0.1-beta.17 • Published 9 months ago

srm-wechat-miniprogram v0.0.1-beta.17

Weekly downloads
-
License
-
Repository
-
Last release
9 months ago

mars-miniprogram-adapter

帮助Mars框架适配到微信小程序/小游戏。抹平 dom api 和小程序 api 的差异,目前适配对象:

  • 'window',
  • 'atob',
  • 'Blob',
  • 'document',
  • 'Element',
  • 'location'
  • 'HTMLCanvasElement',
  • 'HTMLElement',
  • 'HTMLVideoElement',
  • 'Image',
  • 'navigator',
  • 'requestAnimationFrame',
  • 'XMLHttpRequest',
  • 'performance',

适配用法

以 rollup 为例,使用 webpack 方案找到对应的方法即可:

  1. 安装 @rollup/plugin-inject 。

  2. 利用 @rollup/plugin-inject 在打包的过程中注入适配对象到代码中。

  3. (可选) 若使用的 monorepo 仓库,可使用 @rollup/plugin-modify 替换引用模块。l

下面是小程序 rollup.miniprogram.plugin.js 示例可以供参考:

import inject from 'rollup-plugin-inject';
import modify from 'rollup-plugin-modify';

const module = '@galacean/engine-miniprogram-adapter';

function register(name) {
  return [module, name];
}

const adapterArray = [
  'window',
  'atob',
  'devicePixelRatio',
  'document',
  'Element',
  'Event',
  'EventTarget',
  'HTMLCanvasElement',
  'HTMLElement',
  'HTMLMediaElement',
  'HTMLVideoElement',
  'Image',
  'navigator',
  'Node',
  'requestAnimationFrame',
  'cancelAnimationFrame',
  'screen',
  'XMLHttpRequest',
  'performance',
];
const adapterVars = {};

adapterArray.forEach(name => {
  adapterVars[name] = register(name);
});

export default [
  inject(adapterVars),
  modify({
    find: /@galacean\/([\w-]*)/g,
    replace: (match, moduleName) => `@galacean/${moduleName}/dist/miniprogram`
  }),
];
0.0.1-beta.17

9 months ago

0.0.1-beta.16

9 months ago

0.0.1-beta.15

9 months ago

0.0.1-beta.14

9 months ago

0.0.1-beta.13

9 months ago

0.0.1-beta.12

9 months ago

0.0.1-beta.11

9 months ago

0.0.1-beta.10

10 months ago

0.0.1-beta.9

10 months ago

0.0.1-beta.8

10 months ago

0.0.1-beta.7

10 months ago

0.0.1-beta.6

10 months ago

0.0.1-beta.5

10 months ago

0.0.1-beta.4

11 months ago

0.0.1-beta.3

11 months ago

0.0.1-beta.2

11 months ago

0.0.1-beta.1

11 months ago