Files
owl/doc/reference/config.md
T
2019-10-30 15:09:10 +01:00

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);