@ecomplus/storefront-router

Universal JS router for E-Com Plus storefront

Usage no npm install needed!

<script type="module">
  import ecomplusStorefrontRouter from 'https://cdn.skypack.dev/@ecomplus/storefront-router';
</script>

README

E-Com Plus Storefront Router

Publish CodeFactor npm version License MIT

SPA/SSR router for E-Com Plus storefront

CHANGELOG

Usage

The @ecomplus/storefront-router package may be used for:

  • List all products, brands, categories and collections pages (URL paths) for prerenderization/SSR;
  • Based on URL path, get document body (product, brand, category, collection) on browser or server side to render the page markup;

It's available for both Node.js and browser environments.

Example

const router = new EcomRouter()
// Simple example resolving all routes
router.list()
  .then(routes => {
    routes.forEach(route => {
      console.log(route.resource)
      router.resolve(route)
        .then(context => {
          console.log(context.body)
        })
        .catch(error => { throw error })
    })
  })
  .catch(error => {
    console.error(error)
    if (error.response) {
      console.log(error.response)
    }
  })

Installation

It may require and doesn't include core-js (optional) and @ecomplus/utils (peer dependency).

Webpack

npm i --save core-js @ecomplus/utils @ecomplus/storefront-router

Node.js

npm i --save @ecomplus/utils @ecomplus/storefront-router

CDN

<script src="https://cdn.jsdelivr.net/npm/@ecomplus/storefront-router/dist/ecom-router.var.min.js"></script>

When importing from CDN, ecomUtils and ecomClient libraries must be included separately and available on window scope.