+
95
-

回答

通过source-map.js结合source-map文件已经错误行列就能找到源码对应的行列。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/source-map.js"></script>
    <title>Document</title>
    <script type="module">

    window.onload=function(){
         sourceMap.SourceMapConsumer.initialize({
    "lib/mappings.wasm": "//repo.bfw.wiki/bfwrepo/js/mappings.wasm",
  });
//加载map文件
fetch('/asset/main.js.map')
  .then(response => response.text())
  .then(data => {
      
      
       const consumer =  new sourceMap.SourceMapConsumer(data);
       
       consumer.then(res => {
           
          const data= res.originalPositionFor({ line: 1, column: 946});//把错误的行列数值输进去
          console.log(data)//就能看到源代码中对应的错误行与列额
       })
    // 处理获取到的数据
   // console.log(data);
  })
  .catch(error => {
    // 处理错误
    console.error(error);
  });


       

    }
     
    </script>
    <script src="/asset/mainnomap.js"></script>
    <script>
             window.onerror = function (msg, url, row, col, error) {
        const obj = {
          msg,
          url,
          row,
          col,
        };
        console.log(obj);
      };
    </script>
  </head>
  <body>
      看console
  </body>
</html>


网友回复

我知道答案,我要回答