2017-08-25 10 views
0

私はこのようなエラーが発生します(これは動詞だろうか?)のWebPACKとし、page.on('error')上に構築されたアプリをパペットだ:人形のソースマップ?

TypeError: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_core_js_promise___default.a.map is not a function 
    at _default.<anonymous> (....../app.js:23858:89) 
    at Generator.next (<anonymous>) 
    at step (....../app.js:35041:30) 
    at ....../app.js:35052:13 

は、方法はあります、そしてので、どのように私は正しく、これらのエラーを取得することができればsourcemapped?

(私は確かに私はsourcemapsを生成しています知っている)

答えて

1

私は次のようにそれをやった...少し遅れて誰かがそれが役に立つかもしれません。あなたがsourcemappedを抽出logStackTrace機能で

page.on('pageerror', logStackTrace); 
page.on('error', logStackTrace); 

:次にhttps://github.com/novocaine/sourcemapped-stacktrace

await page.addScriptTag({ 
    url: 'https://cdn.jsdelivr.net/npm/[email protected]/dist/sourcemapped-stacktrace.js', 
}); 

エラーイベントをリッスン:あなたはエラーを投げページに移動したら、このLIBを注入

stacktraceを実行してログに記録し、ログに記録します。

const logStackTrace = async (error) => { 
    page.evaluate(stack => new Promise(resolve => 
    window.sourceMappedStackTrace.mapStackTrace(stack, (newStack) => { 
     resolve(newStack); 
    }) 
), typeof error.stack === 'string' ? error.stack : error.stack.join('\n')) 
    .then((result) => { 
    console.log('ERROR:', error.message, result[0]); 
    }); 
}; 

私はスタックの最初の行だけを正しくマップします。まだ無限に便利です。