part of #306
1.7 KiB
🦉 Config 🦉
The Owl framework is designed to work in many situations. However, it is
sometimes necessary to customize some behaviour. This is done by using the
global config object. It currently has two keys:
Mode
By default, Owl is in production mode, this means that it will try to do its
job fast, and skip some expensive operations. However, it is sometimes necessary
to have better information on what is going on, this is the purpose
of the dev mode.
Owl has a mode flag, in owl.config.mode. Its default value is prod, but
it can be set to dev:
owl.config.mode = "dev";
Note that templates compiled with the prod settings will not be recompiled.
So, changing this setting is best done at startup.
An important job done by the dev mode is to validate props for each component
creation and update. Also, extra props will cause an error.
Env
An Owl application needs an environment to be executed. The environment has an important key: the QWeb instance, which will render all templates.
Whenever a root component is mounted, Owl will take the environment from
owl.config.env and use it to setup the component (and its children).
- if no environment was setup, an empty environment will be generated,
- if an environment exists, but does not have a QWeb key, a new QWeb instance will then be added to the environment.
The correct way to customize an environment is to simply modify owl.config.env
before the first component is created:
owl.config.env = {
_t: myTranslateFunction,
user: {...},
services: {
...
},
};
const app = new App();
app.mount(document.body);