]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor: only run useCssModule code in non-global builds
authorEvan You <yyx990803@gmail.com>
Tue, 18 Feb 2020 18:23:30 +0000 (13:23 -0500)
committerEvan You <yyx990803@gmail.com>
Tue, 18 Feb 2020 18:23:30 +0000 (13:23 -0500)
packages/runtime-core/src/helpers/useCssModule.ts

index b838835f0416797ba3113b189cf9e0166bc6092b..838ac604d8088fbec727a1615fee36f0d3847ca5 100644 (file)
@@ -2,22 +2,29 @@ import { getCurrentInstance } from '../component'
 import { EMPTY_OBJ } from '@vue/shared'
 import { warn } from '../warning'
 
-export function useCSSModule(name = '$style'): Record<string, string> {
-  const instance = getCurrentInstance()!
-  if (!instance) {
-    __DEV__ && warn(`useCSSModule must be called inside setup()`)
+export const useCSSModule = (name = '$style'): Record<string, string> => {
+  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<string, string>
+  } 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<string, string>
 }