---
title: Add a module initializer
slug: cms-12/docs/adding-a-module-initializer
docTags: 
createdAt: 2026-08-10T15:55:58.000Z
---

A module initializer is a JavaScript function that runs when the related module is started. This is useful for doing any configuration or script loading that should be done before the edit user interface is made available.

Configure the initializer in the `module.config` file for your app (add-on). The `initializer` attribute on
the `clientModule` element determines the path to the module initializer to run. For example:

```xml
<clientModule initializer="acme/Initializer">
</clientModule>
```

The module initializer should return an object that has an `initialize` function. This function is called when the module initializer is run. You should extend `epi/_Module` when implementing a module initializer as this implements the expected API and provides helper methods for performing common initializer actions. So, the skeleton for your module initializer will look something like this:

```javascript
define([
    'dojo/_base/declare',
    'epi/_Module'
  ],
  function (declare, _Module) {
    return declare([_Module], {
      initialize: function () {
        this.inherited(arguments);
      }
    });
  }
);
```
