a single-spa plugin for vue.js applications
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.babelrc
.gitignore
LICENSE
README.md
package.json
yarn.lock

README.md

single-spa-vuejs

Generic lifecycle hooks for Vue.js applications that are registered as applications of single-spa.

Example

In addition to this Readme, example usage of single-spa-vue can be found in the single-spa-examples project.

Quickstart

First, in the single-spa application, run npm install --save single-spa-vue. Note you can also use single-spa-vue by adding <script src="https://unpkg.com/single-spa-vue"></script> to your html file and accessing the singleSpaVue global variable.

Then, add the following to your application's entry file

import Vue from 'vue';
import singleSpaVue from 'single-spa-vue';

const vueLifecycles = singleSpaVue({
  Vue,
  appOptions: {
    el: '#mount-location',
    template: '<div>some template</div>'
  }  
});

export const bootstrap = [
  vueLifecycles.bootstrap,
];

export const mount = [
  vueLifecycles.mount,
];

export const unmount = [
  vueLifecycles.unmount,
];

Options

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

  • Vue: (required) The main Vue object, which is generally either exposed onto the window or is available via require('vue') import Vue from 'vue'.
  • appOptions: (required) An object which will be used to instantiate your Vue.js application. appOptions will pass directly through to new Vue(appOptions)

As a single-spa parcel

To create a single-spa parcel, simply omit the el option from your appOptions, since the dom element will be specified by the user of the Parcel. Everything other option should be provided exactly the same as in the example above.