perf: do not enable hmr in non-browser envs

This commit is contained in:
Evan You 2020-10-06 11:35:51 -04:00
parent 5c3e8e9840
commit cf2c9f6faa
2 changed files with 10 additions and 5 deletions

View File

@ -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

View File

@ -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)
}