Skip to main content
Version: 5.x

single-spa-dojo

Build Status

single-spa-dojo is a helper library that helps implement single-spa registered application lifecycle functions (bootstrap, mount and unmount) for use with Dojo. Check out the single-spa-dojo github.

Installationโ€‹

npm install --save single-spa-dojo

# or
yarn add single-spa-dojo

Quickstartโ€‹

Your bundler's "entry file" should look like this, which allows your application to be downloaded as an in-browser ES module.

import { renderer } from '@dojo/framework/core/vdom';
import { v, w } from '@dojo/framework/widget-core/d';
import singleSpaDojo from 'single-spa-dojo';
import App from './app';

const dojoLifecycles = singleSpaDojo({
// required
renderer,

// required
v,

// required
w,

// required
appComponent: App,

// optional - see https://dojo.io/learn/creating-widgets/rendering-widgets#mountoptions-properties
mountOptions: {
// optional
registry: myRegistry,

// optional - one will be provided by single-spa automatically
domNode: document.getElementById('myContainer'),

// optional
sync: true
}
});

export const bootstrap = dojoLifecycles.bootstrap;
export const mount = dojoLifecycles.mount;
export const unmount = dojoLifecycles.unmount;

Optionsโ€‹

All options are passed to single-spa-dojo via the opts parameter when calling singleSpaDojo(opts). The following options are available:

  • renderer (required): The renderer function imported from Dojo. See https://dojo.io/learn/creating-widgets/rendering-widgets#rendering-to-the-dom.
  • v (required): The function used to render dom elements in Dojo. Often JSX hides this function from you, but it can be found at import { v } from '@dojo/framework/widget-core/d'.
  • w (required): The function used to render dom elements in Dojo. Often JSX hides this function from you, but it can be found at import { w } from '@dojo/framework/widget-core/d'.
  • appComponent (required): The class or function for your root Dojo component.
  • mountOptions (optional): An object of Dojo MountOptions. Note that a domNode will be provided by single-spa-dojo, if one is not provided.