Bladeren bron

fix: runtime compilation marker should be applied in exposed compile function

Evan You 5 jaren geleden
bovenliggende
commit
b3b65b4058
2 gewijzigde bestanden met toevoegingen van 5 en 2 verwijderingen
  1. 0 2
      packages/runtime-core/src/component.ts
  2. 5 0
      packages/vue/src/index.ts

+ 0 - 2
packages/runtime-core/src/component.ts

@@ -601,8 +601,6 @@ function finishComponentSetup(
       if (__DEV__) {
         endMeasure(instance, `compile`)
       }
-      // mark the function as runtime compiled
-      ;(Component.render as InternalRenderFunction)._rc = true
     }
 
     instance.render = (Component.render || NOOP) as InternalRenderFunction

+ 5 - 0
packages/vue/src/index.ts

@@ -5,6 +5,7 @@ import { compile, CompilerOptions, CompilerError } from '@vue/compiler-dom'
 import { registerRuntimeCompiler, RenderFunction, warn } from '@vue/runtime-dom'
 import * as runtimeDom from '@vue/runtime-dom'
 import { isString, NOOP, generateCodeFrame, extend } from '@vue/shared'
+import { InternalRenderFunction } from 'packages/runtime-core/src/component'
 
 __DEV__ && initDev()
 
@@ -74,6 +75,10 @@ function compileToFunction(
   const render = (__GLOBAL__
     ? new Function(code)()
     : new Function('Vue', code)(runtimeDom)) as RenderFunction
+
+  // mark the function as runtime compiled
+  ;(render as InternalRenderFunction)._rc = true
+
   return (compileCache[key] = render)
 }