关于 Webpack 的一些配置 二

144 阅读1分钟

最近在重看 Webpack 相关的文章,发现了一些以前囫囵吞枣学习的一些遗漏点,现在作下记录。

  • devtool:控制是否生成,以及如何生成 source map。增强调试过程,不同的值会明显影响到构建(build)和重新构建(rebuild)的速度。
    • source-map 生成一个独立的 source-map 文件,将 bundle.js 与源代码进行映射(在 bundle.js 文件中会有一个注释,指向 souece-map 文件)

      //# sourceMappingURL = bundle.js.map

    • evel-source-map 生成 source-map,但是以 DataUrl 的形式添加到 eval 函数的后面(eval 函数即__webpack_modules__对象中值转为 eval 函数,目的是为了解析 DataUrl)
    • inline-source-map 以 DataUrl 注释的形式放在 bundle.js 文件的最后
    • cheap-source-map 生成 source-map,但更高效,因为它没有生成列映射,错误信息只能确定到
    • cheap-module-source-map 类似cheap-source-map,但对源自 loader 的 source-map 处理会更好
    • hidden-source-map 不生成bundle.js文件最后的指向注释
    • noresources-source-map 生成的 source-map 只有错误信息提示,不会指向源代码
    • 值是可以组合的,但有一定规则:
      • inline-|hidden-|eval 三选一
      • noresources 可选
      • cheap 可选,并且可以跟随 module 的值
      • [inline-|hidden-|eval][noresources-][cheap-[module-]] source-map
    • 不同阶段推荐的值
      • 开发阶段:推荐使用source-map或者cheap-module-source-map,这也分别是 Vue 和 React 使用的值,可以获取调试信息,方便快速开发
      • 测试阶段:推荐使用source-map或者cheap-module- .source-map
      • 发布阶段:使用 false 或缺省