JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 301
  • Score
    100M100P100Q95949F
  • License MIT

Universal JS router for E-Com Plus storefront

Package Exports

  • @ecomplus/storefront-router

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@ecomplus/storefront-router) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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.