This document provides instructions for how to add environment specific modifications to the Web UI.
.env.<ENV_NAME>
file in the project rootNODE_ENV=production
key value pair in the fileVUE_APP_ENV_NAME
key with the value set to the new environment nameExample .env.ibm
:
NODE_ENV=production VUE_APP_ENV_NAME=ibm
:::tip Vuex store modules contain the application's API calls. :::
CUSTOM_STORE=true
key value pair to the new .env file.<ENV_NAME>.js
file in src/env/store
:::danger The filename needs to match the VUE_APP_ENV_NAME
value defined in the .env file. The store import in src/main.js
will resolve to this new file. :::registerModule
and unregisterModule
instance methods to add/remove store modulesExample src/env/store/ibm.js
:
import store from '@/store; //@ aliases to src directory import HmcStore from './Hmc/HmcStore'; store.registerModule('hmc', HmcStore); export default store;
:::tip Vue Router determines which pages are accessible in the UI. :::
CUSTOM_ROUTER=true
key value pair to the new .env file.<ENV_NAME>.js
file in src/env/router
:::danger The filename needs to match the VUE_APP_ENV_NAME
value defined in the .env file. The routes import in src/router/index.js
will resolve to this new file. :::The Vue Router definition is closely tied to the app navigation but should be configured separately. The Vue Router is responsible for defining the application routes which is not always the same as what is visible in the app navigation. This configuration will make customizations to the rendered markup in src/components/AppNavigation/AppNavigation.vue.
CUSTOM_APP_NAV=true
key value pair to the new .env file.<ENV_NAME>.js
file in src/env/components/AppNavigation
:::danger The filename needs to match the VUE_APP_ENV_NAME
value defined in the .env file. The AppNavigationMixin import in src/components/AppNavigation/AppNavigation.vue
will resolve to this new file. :::navigationItems
that should be an array of of navigation objects. Each navigation object should have an id
and label
property defined. Optionally it can include icon
, route
, or children
properties.:::tip Bootstrap theming allows for easy visual customizations. :::
CUSTOM_STYLES=true
key value pair to the new .env file._<ENV_NAME>.scss
partial in src/env/assets/styles
:::danger The filename needs to match the VUE_APP_ENV_NAME
value defined in the .env file. The webpack sass loader will attempt to import a file with this name. :::Example for adding custom colors
src/env/assets/styles/_ibm.scss
// Custom theme colors $primary: rebeccapurple; $success: lime;
VUE_APP_ENV_NAME
key value pair to your env.development.local
file.npm run serve
Run npm build script with vue-cli --mode
option flag. This requires corresponding .env file to exist.
npm run build -- --mode ibm
OR
pass env variable directly to script
VUE_APP_ENV_NAME=ibm npm run build