Feature Hub

Feature Hub

  • API
  • GitHub

›Help

Getting Started

  • Introduction
  • Motivation
  • Demos

Guides

  • Integrating the Feature Hub
  • Writing a Feature App
  • Writing a Feature Service
  • Sharing the Browser History
  • Sharing npm Dependencies
  • Custom Logging
  • Server-Side Rendering
  • Feature App in Feature App
  • Reducing the Bundle Size

Help

  • FAQ
Edit

FAQ

Can the integrator register Feature Services one by one?

Yes, but then you need to guarantee the correct order. On the other hand, all Feature Services registered together using the registerFeatureServices method of the FeatureServiceRegistry are automatically sorted topologically and therefore do not need to be registered in the correct order.

Can Feature Services be dynamically loaded after initial load?

Yes, a Feature App that is loaded dynamically can register its own Feature Services. The disadvantage of this solution is that several Feature Apps may bring the same Feature Services and therefore unnecessary code is loaded. In addition, version conflicts may occur.

Alternatively, a Feature Service could be implemented using dynamic code splitting. The relevant code components would only be dynamically loaded when the Feature Service is used.

Can a Feature App render another Feature App?

Yes, a React Feature App can render another Feature App.

Can we integrate an existing Angular 2.0 application into the Feature Hub?

Yes, but the application must first be converted to a Feature App. The @feature-hub/dom or the @feature-hub/react package can be used to integrate the application as a DOM Feature App. There is a demo that shows the integration of an Angular application into a @feature-hub/dom integrator.

Is it possible to build Feature Apps using Vue.js?

Yes, it is possible to use Vue.js to build Feature Apps. A Vue.js Feature App would implement the DOM Feature App interface and therefore be integratable in an integrator using @feature-hub/dom as well as @feature-hub/react. There is a demo that shows the integration of a Vue.js application into a @feature-hub/dom integrator.

Does the Feature Hub run in Internet Explorer 11 (IE11)?

The Feature Hub's published source code includes ES2017 language features. Therefore, only evergreen browsers (and Node >= 8) are supported out-of-the-box.

An integrator could still choose to support IE11 though, by transpiling the published sources to ES5 while creating its bundle. For example, if Webpack is used, the babel-loader can be configured with an exclude option like this:

module: {
  rules: [
    {
      test: /\.js$/,
      exclude: /node_modules\/(?!@feature-hub)/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env'],
        },
      },
    },
  ];
}

Furthermore, polyfills for ES2015, ES2016, and ES2017 must be provided, e.g. by integrating a service like Polyfill.io:

<script
  crossorigin="anonymous"
  src="https://polyfill.io/v3/polyfill.min.js?features=es2015%2Ces2016%2Ces2017"
></script>

If the integrator wants to load Feature Apps that are bundled as federated modules, it must provide a polyfill for document.currentScript to enable Webpack's automatic public path detection.

Last updated on 1/27/2025 by Feature Hub CI
← Reducing the Bundle Size
  • Can the integrator register Feature Services one by one?
  • Can Feature Services be dynamically loaded after initial load?
  • Can a Feature App render another Feature App?
  • Can we integrate an existing Angular 2.0 application into the Feature Hub?
  • Is it possible to build Feature Apps using Vue.js?
  • Does the Feature Hub run in Internet Explorer 11 (IE11)?
Copyright (c) 2018-2025 Accenture Song Build Germany GmbH