webpack之source map

Posted HelloHello233

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了webpack之source map相关的知识,希望对你有一定的参考价值。

先来一个webpack小例子,项目结构如下:

// greeter.js
module.exports = function() {
    var greet = document.createElement(\'div\');
    greet.textContent = "Hi there and greetings!";
    return greet;
};

// main.js
const greeter = require(\'./Greeter.js\');
document.querySelector("#root").appendChild(greeter());

// webpack.config.js
module.exports = {
    // devtool: \'eval-source-map\',
    entry:  __dirname + "/main.js",
    output: {
        path: __dirname + "/dist",
        filename: "bundle.js"
    }
}

// index.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body id="root"></body>
<script src="dist/bundle.js"></script>
</html>

运行结果:

页面上正常显示:“Hi there and greetings!”。

以上的例子很简单,可以直接在bundle.js中打断点进行调试。但是对于复杂的webpack程序,模块很多,如果全都在bundle中打断点进行调试,会很混乱,那该如何方便调试模块里面的逻辑呢?答案是使用webpack的source map选项。

在以上的配置文件中打开注释:

    // devtool: \'eval-source-map\',

然后重新运行。然后打开浏览器的调试窗口,发现了些东西:

双击这些文件,可以很方便地对不同js文件中的代码进行调试。

以上仅仅用到了source map的一个选项,其他的可以在这里进行参考和尝试

 

 

 

以上是关于webpack之source map的主要内容,如果未能解决你的问题,请参考以下文章

前端线上调试之source maps

webpack之es6转换

webpack常见配置信息

[转] Webpack的devtool和source maps

彻底搞懂 Webpack 的Source Map

Webpack 中使用source map 在开发过程中进行调试