项目实例
webpack.config.js打包文件
const path = require('path');
module.exports = {
mode: 'development', // 设置为开发模式
entry: './src/main.js', // 入口文件
output: {
filename: 'app.js', // 输出文件名
path: path.resolve(__dirname, 'dist'), // 输出目录
},
devtool: 'source-map', // 配置 Source Map
};
项目原理
1、mode配置(开发者模式源码是直接可以看到的)
production(生产),development(开发),开发模式下会存在泄漏
还原:浏览器webpack://
2、devtool配置
参考:https://mp.weixin.qq.com/s/tLjSb5cinXawMEC7RfJEJQ
在使用webpack打包部署代码时,如果参数devtool配置不当,将会在部署代码文件中生成对应匹配的soucemap文件(源码映射),如果将参数devtool配置为“source-map”、“cheap-source-map”、“hidden-source-map”、“nosources-source-map”、“cheap-module-source-map”等值时,打包后将生成单独的map文件。
手动还原:
还原项目:shuji,reverse-sourcemap
npm install --global shuji
shuji xxx.js.map -o xxxxxxx
npm install --global reverse-sourcemap
reverse-sourcemap --output-dir ./ xxx.js.map
将map文件使用shuji还原
还原出来的项目·结构·
自动还原:
识别项目:https://github.com/SunHuawei/SourceDetecto(谷歌插件)