| name | webflow-module-creation |
| description | Create and register custom JavaScript modules for Webflow projects. Use when creating new functionality, adding data-module attributes, or structuring component logic. |
Webflow Module Creation
This skill guides you through creating and registering custom modules that are automatically mounted based on DOM attributes.
Core Principles
- File Location: All modules must be created in
src/modules/.
- Naming: The filename (e.g.,
test.ts) must exactly match the data-module attribute value (e.g., data-module="test").
- Structure: Every module must have a default export function.
Module Template
import { onMount, onDestroy } from "@/modules/_";
export default function (element: HTMLElement, dataset: DOMStringMap) {
onMount(() => {
});
onDestroy(() => {
});
}
Step-by-Step Creation
- Create the File: Add a new
.ts file in src/modules/ (e.g., src/modules/my-component.ts).
- Implement the Function: Export a default function with the signature
(element: HTMLElement, dataset: DOMStringMap) => void.
- Register in HTML: Add the
data-module="my-component" attribute to the target element in Webflow/HTML.
- Access Data: Use the
dataset parameter to access data- attributes passed from the DOM.
Best Practices
- Keep modules focused on a single responsibility.
- Use descriptive names that match the component's purpose.
- Ensure the filename is lowercase and uses hyphens if needed (e.g.,
image-gallery.ts).