@alicloud/console-os-kernal
TypeScript icon, indicating that this package has built-in type declarations

1.4.34 • Public • Published

Console OS Kernal

Kernal for Console OS

TODO

  • [x] load app by single bundle
  • [x] load app by manifest
  • [x] security sandbox
  • [ ] cache by service work

How to use

First

npm i @alicloud/console-os-kernal --save
# or
yarn add @alicloud/console-os-kernal --save
# or
tnpm i @alicloud/console-os-kernal --save

Then you create you sub application using createMicroApp

import { createMicroApp, load, mount, unmount } from '@alicloud/console-os-kernal';

const microApp = await createMicroApp({
  id: 'micro-app-id-1',
  manifest: 'https://xxx.micro-app-id-1.manifest.json';
});

await load(microApp);

await mount(microApp, {
  dom: document.querySelector('#app'),
  props
});

await update(microApp, {/* you props */});

await unmount(microApp);

Last, in the entry code of you main app, call start to start os

// in the start of main app

import { start } from '@alicloud/console-os-kernal';

start();

React

If you are using react as your UI framework, you can use sub app as a jsx element by using @alicloud/console-os-react-app

import ConsoleApp from '@alicloud/console-os-react-app'

const MANIFEST_URL = 'http://g.alicdn.com/aliyun-next/slb.manifest.json'

export default () => (
  <ConsoleApp
    manifest={MANIFEST_URL}
  />
)

Build bundle

In OS, an app bundle is built by breezr, you can use @alicloud/console-toolkit-plugin-os to build your bundle

/* breezr.config.js */

module.exports = {
  /*
   * other breezr config
   */
  plugins: [
    '@alicloud/console-toolkit-plugin-os'
  ]
}

Readme

Keywords

none

Package Sidebar

Install

npm i @alicloud/console-os-kernal

Weekly Downloads

57

Version

1.4.34

License

MIT

Unpacked Size

141 kB

Total Files

68

Last publish

Collaborators

  • jacksontian
  • fengmk2
  • pagecao
  • aliyunsdkteam
  • console-fe