vue开启sourcemap,node端用的source-map解析.map文件时返回null

vue项目开启sourcemap,其配置如下:
`module.exports = {
publicPath: '/',
outputDir: 'dist',
runtimeCompiler: false,
productionSourceMap: true,
configureWebpack: config => {

config.devtool = 'source-map'

}
}
`
运行npm run build后生成的.map文件放到node后端中;
前端使用tracekit这个作为捕捉错误,并将错误信息上报给node后端;
node使用mozilla/source-map这个库解析sourcemap文件;
`
const express = require('express');
const fs = require('fs');
const sourceMap = require('source-map');
const path = require('path');
const resolve = file => path.resolve(__dirname, file);

errorMap.errorMsg = async (req, res) => {
try {

const error = req.body.error
const fileName = req.body.error.fileName.split('.')[0]
let smc = new sourceMap.SourceMapConsumer(fs.readFileSync(resolve('../maps/archive.f7c91f8c.js.map'), 'utf8')); // 返回一个promise对象
smc.then(result => {
  let ret = result.originalPositionFor({
     line: error.line, // 压缩后的行号
     column: error.column // 压缩后的列号
   });
   console.log('ret', ret)
})
return res.json({code: 0, message: ''})

} catch (e) {

logger.error('errorMsg error', e)

}
}
`

打印出来的ret结果为
{source: null, line: null, column: null}

有人能帮我解答下为什么是null及提供下解决方案吗?

阅读 5.2k
2 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题