Skip to content

Sample project for the settings microfrontend of the "Siteless UIs" pattern of ch. 11.

Notifications You must be signed in to change notification settings

ArtOfMicrofrontends/11-frontend-settings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Chapter 11

Prerequisites

The following software is required to run the sample:

  • Git
  • Node.js
  • NPM

Running

Clone the repository:

git clone https://github.com/ArtOfMicrofrontends/11-frontend-settings.git

Go to the repository's directory and run NPM install:

npm install

Now start the application:

npm start

Steps

Follow these steps to implement the same from scratch.

  1. Initialize a new project and add the dependencies
npm init -y
npm install vue --save
npm install @babel/core @babel/preset-env @babel/plugin-proposal-json-strings @babel/plugin-syntax-dynamic-import @babel/plugin-syntax-import-meta babel-loader css-loader vue-loader vue-template-compiler webpack webpack-cli --save-dev
  1. Add a webpack.config.js and make sure to target library (with the name of the package)

  2. Copy over the settings code from the previous sample

  3. Change the index.js to export a setup function

export function setup(api) {
  let SettingsPage = undefined;

  api.registerPage("/settings", {
    bootstrap: () =>
      import("./Settings.vue").then((content) => {
          SettingsPage = content.default;
      }),
    mount: (target) => new Vue({
      el: target.appendChild(document.createElement('div')),
      render(h) {
        return h(SettingsPage, {
          props: {},
        });
      },
    }),
    unmount: (_, instance) => instance.$destroy(),
  });
}
  1. Build the MF with Webpack (npx webpack --mode production) and then publish it using
npm pack
curl -F 'file=@./settings-1.0.0.tgz' http://localhost:9000/modules
rm *.tgz

where localhost:9000 is the address of the feed server

About

Sample project for the settings microfrontend of the "Siteless UIs" pattern of ch. 11.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published