فهرست منبع

fix ssr initial context style recording

Evan You 9 سال پیش
والد
کامیت
2a247fcadc
1فایلهای تغییر یافته به همراه5 افزوده شده و 6 حذف شده
  1. 5 6
      src/server/bundle-renderer/create-bundle-runner.js

+ 5 - 6
src/server/bundle-renderer/create-bundle-runner.js

@@ -1,4 +1,4 @@
-import { isObject } from 'shared/util'
+import { isPlainObject } from 'shared/util'
 
 const vm = require('vm')
 const path = require('path')
@@ -73,7 +73,7 @@ function compileModule (files, basedir) {
 }
 
 function deepClone (val) {
-  if (isObject(val)) {
+  if (isPlainObject(val)) {
     const res = {}
     for (const key in val) {
       res[key] = deepClone(val[key])
@@ -108,14 +108,13 @@ export function createBundleRunner (entry, files, basedir, runInNewContext) {
     const initialContext = {}
     const sharedContext = createContext(initialContext)
 
-    // On subsequent renders, __VUE_SSR_CONTEXT__ will not be avaialbe
-    // to prevent cross-request pollution.
-    delete sharedContext.__VUE_SSR_CONTEXT__
-
     let runner // lazy creation so that errors can be caught by user
     return (userContext = {}) => new Promise(resolve => {
       if (!runner) {
         runner = evaluate(entry, sharedContext)
+        // On subsequent renders, __VUE_SSR_CONTEXT__ will not be avaialbe
+        // to prevent cross-request pollution.
+        delete sharedContext.__VUE_SSR_CONTEXT__
         if (typeof runner !== 'function') {
           throw new Error(
             'bundle export should be a function when using ' +