diff --git a/packages/runtime-core/src/helpers/useCssModule.ts b/packages/runtime-core/src/helpers/useCssModule.ts index b838835f041..838ac604d80 100644 --- a/packages/runtime-core/src/helpers/useCssModule.ts +++ b/packages/runtime-core/src/helpers/useCssModule.ts @@ -2,22 +2,29 @@ import { getCurrentInstance } from '../component' import { EMPTY_OBJ } from '@vue/shared' import { warn } from '../warning' -export function useCSSModule(name = '$style'): Record { - const instance = getCurrentInstance()! - if (!instance) { - __DEV__ && warn(`useCSSModule must be called inside setup()`) +export const useCSSModule = (name = '$style'): Record => { + if (!__GLOBAL__) { + const instance = getCurrentInstance()! + if (!instance) { + __DEV__ && warn(`useCSSModule must be called inside setup()`) + return EMPTY_OBJ + } + const modules = instance.type.__cssModules + if (!modules) { + __DEV__ && warn(`Current instance does not have CSS modules injected.`) + return EMPTY_OBJ + } + const mod = modules[name] + if (!mod) { + __DEV__ && + warn(`Current instance does not have CSS module named "${name}".`) + return EMPTY_OBJ + } + return mod as Record + } else { + if (__DEV__) { + warn(`useCSSModule() is not supported in the global build.`) + } return EMPTY_OBJ } - const modules = instance.type.__cssModules - if (!modules) { - __DEV__ && warn(`Current instance does not have CSS modules injected.`) - return EMPTY_OBJ - } - const mod = modules[name] - if (!mod) { - __DEV__ && - warn(`Current instance does not have CSS module named "${name}".`) - return EMPTY_OBJ - } - return mod as Record }