nuxt-site-config
Version:
Shared site configuration for Nuxt 3 modules.
18 lines (17 loc) • 541 B
JavaScript
import { defu } from "defu";
import {
useNuxtApp,
useRequestEvent
} from "nuxt/app";
import { reactive, watchEffect } from "vue";
export function useSiteConfig(options) {
const stack = import.meta.server ? useRequestEvent()?.context.siteConfig.get(defu({ resolveRefs: true }, options)) : reactive({});
if (import.meta.client) {
watchEffect(() => {
const data = useNuxtApp().$nuxtSiteConfig.get(defu({ resolveRefs: true }, options));
Object.assign(stack, data);
});
}
delete stack._priority;
return stack;
}