From: Evan You Date: Tue, 6 Oct 2020 15:35:51 +0000 (-0400) Subject: perf: do not enable hmr in non-browser envs X-Git-Tag: v3.0.1~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cf2c9f6faa95add4c23b20c4b8a6e477d05ff0ed;p=thirdparty%2Fvuejs%2Fcore.git perf: do not enable hmr in non-browser envs --- diff --git a/packages/runtime-core/src/hmr.ts b/packages/runtime-core/src/hmr.ts index df55731356..faf4cb24e7 100644 --- a/packages/runtime-core/src/hmr.ts +++ b/packages/runtime-core/src/hmr.ts @@ -25,7 +25,7 @@ export interface HMRRuntime { // it easier to be used in toolings like vue-loader // Note: for a component to be eligible for HMR it also needs the __hmrId option // to be set so that its instances can be registered / removed. -if (__DEV__) { +if (__DEV__ && (__BROWSER__ || __TEST__)) { const globalObject: any = typeof global !== 'undefined' ? global diff --git a/packages/runtime-core/src/renderer.ts b/packages/runtime-core/src/renderer.ts index 217e9a4c20..37f5a2ed7d 100644 --- a/packages/runtime-core/src/renderer.ts +++ b/packages/runtime-core/src/renderer.ts @@ -885,7 +885,7 @@ function baseCreateRenderer( invokeDirectiveHook(n2, n1, parentComponent, 'beforeUpdate') } - if (__DEV__ && isHmrUpdating) { + if (__DEV__ && (__BROWSER__ || __TEST__) && isHmrUpdating) { // HMR updated, force full diff patchFlag = 0 optimized = false @@ -986,7 +986,12 @@ function baseCreateRenderer( parentSuspense, areChildrenSVG ) - if (__DEV__ && parentComponent && parentComponent.type.__hmrId) { + if ( + __DEV__ && + (__BROWSER__ || __TEST__) && + parentComponent && + parentComponent.type.__hmrId + ) { traverseStaticChildren(n1, n2) } } else if (!optimized) { @@ -1238,7 +1243,7 @@ function baseCreateRenderer( parentSuspense )) - if (__DEV__ && instance.type.__hmrId) { + if (__DEV__ && (__BROWSER__ || __TEST__) && instance.type.__hmrId) { registerHMR(instance) } @@ -2109,7 +2114,7 @@ function baseCreateRenderer( parentSuspense: SuspenseBoundary | null, doRemove?: boolean ) => { - if (__DEV__ && instance.type.__hmrId) { + if (__DEV__ && (__BROWSER__ || __TEST__) && instance.type.__hmrId) { unregisterHMR(instance) }