@nuxt-modules/lazy-load
Version:
Lazy load module for Nuxt 3
38 lines (33 loc) • 1.02 kB
JavaScript
import { resolve } from 'path';
import defu from 'defu';
import { defineNuxtModule, addPlugin } from '@nuxt/kit';
// -- Unbuild CommonJS Shims --
import __cjs_url__ from 'url';
import __cjs_path__ from 'path';
import __cjs_mod__ from 'module';
const __filename = __cjs_url__.fileURLToPath(import.meta.url);
const __dirname = __cjs_path__.dirname(__filename);
const require = __cjs_mod__.createRequire(import.meta.url);
const module = defineNuxtModule({
meta: {
name: "@nuxt-modules/lazy-load",
configKey: "lazyLoad",
compatibility: {
nuxt: "^3.0.0"
}
},
defaults: {
selector: "lazy"
},
setup(options, nuxt) {
nuxt.options.publicRuntimeConfig.lazyLoad = defu(nuxt.options.publicRuntimeConfig.lazyLoad, {
selector: options.selector,
options: options.options
});
addPlugin(resolve(__dirname, "./plugins/lazy-load"));
nuxt.hook("autoImports:dirs", (dirs) => {
dirs.push(resolve(__dirname, "./composables"));
});
}
});
export { module as default };