Configuration options for loading modules. Optional.
Options for the loadModules
function.
Optional
attribute?: stringThe data attribute to scan for. Defaults to "data-loadmodule"
Optional
loadedAttrSuffix?: stringSuffix to mark an element as having been loaded. Defaults to "HasLoaded" → becomes data-loadmodule-has-loaded
One or more directories to search for modules. E.g., ["../modules", "../shared"]
Optional
rootElement?: HTMLElement | DocumentRoot DOM element to search inside.
Defaults to document
.
// ES Module
import { loadModules } from '@bnidev/js-utils'
// CommonJS
const { loadModules } = require('@bnidev/js-utils')
// Load without additional options (uses default settings)
loadModules({moduleDirs: ['../modules', '../shared']})
// Load with options
loadModules({
attribute: 'data-custom-module',
moduleDirs: ['../modules', '../shared'],
rootElement: document.getElementById('app'),
loadedAttrSuffix: 'HasLoaded'
// This will look for elements like <div data-custom-module="myModule"></div>
})
Loads modules specified in HTML elements with a given data attribute.
This function scans the DOM for elements with a specific data attribute, imports the specified modules from given directories, and initializes them by calling the exported default function with the element as an argument.