2
0
Эх сурвалжийг харах

only map ssr stack trace if error is indeed an Error

Evan You 9 жил өмнө
parent
commit
b80f8ba5ab

+ 6 - 2
src/server/create-bundle-renderer.js

@@ -50,7 +50,9 @@ export function createBundleRendererCreator (createRenderer: () => Renderer) {
         runInVm(entry, files, context).then(app => {
           renderer.renderToString(app, cb)
         }).catch(err => {
-          rewriteErrorTrace(err, maps)
+          if (err instanceof Error) {
+            rewriteErrorTrace(err, maps)
+          }
           cb(err)
         })
       },
@@ -65,7 +67,9 @@ export function createBundleRendererCreator (createRenderer: () => Renderer) {
           renderStream.pipe(res)
         }).catch(err => {
           process.nextTick(() => {
-            rewriteErrorTrace(err, maps)
+            if (err instanceof Error) {
+              rewriteErrorTrace(err, maps)
+            }
             res.emit('error', err)
           })
         })

+ 1 - 1
src/server/source-map-support.js

@@ -32,7 +32,7 @@ function rewriteTraceLine (trace: string, mapConsumers: {
     })
     if (originalPosition.source != null) {
       const { source, line, column } = originalPosition
-      const mappedPosition = `(${source.replace(/^webpack:\/\/\//, '')}:${line}:${column})`
+      const mappedPosition = `(${source.replace(/^webpack:\/\/\//, '')}:${String(line)}:${String(column)})`
       return trace.replace(filenameRE, mappedPosition)
     } else {
       return trace