Preparation for BEX

The difference between building a SPA, Mobile App, Electron App, BEX or SSR is simply determined by the “mode” parameter in “quasar dev” and “quasar build” commands.

1. Add Quasar BEX Mode

In order to build a BEX, we first need to add the BEX mode to our Quasar project:

$ quasar mode add bex

If you want to jump right in and start developing, you can skip the “quasar mode” command and issue:

$ quasar dev -m bex

This will add BEX mode automatically, if it is missing adding a src-bex folder to your project.

TIP

The src-bex folder is just a standard browser extension folder so you are free to use it as you would any other browser extension project folder. Please refer to supported Browser Extension documentation to learn more.

2. Understand The Anatomy Of src-bex

The new folder has the following structure:

.
└── src-bex
    ├── assets
    │   └── content.css       # CSS file which is auto injected into the consuming webpage via the manifest.json
    ├── background.js         # Standard background script BEX file# auto injected via manifest.json
    ├── dom.js                # JS file which is injected into the DOM with a hook into the BEX communication layer
    ├── icons                 # Icons of your app for all platforms
    │   ├── icon-128x128.png  # Icon file at 128px x 128px
    │   ├── icon-16x16.png    # Icon file at 16px x 16px
    │   └── icon-48x48.png    # Icon file at 48px x 48px
    ├── _locales              # Optional BEX locales files that you might define in manifest
    ├── manifest.json         # The browser extension manifest file
    └── my-content-script.js  # Standard content script BEX file - auto injected via manifest.json
                              # (you can have multiple content scripts)

The next section will discuss these in more detail.