前端项目工程化 -- webpack -- Source Maps

webpack怎么配置source maps?

module.exports = {
  devtool: 'eval-source-map',//配置生成Source Maps,选择合适的选项
  entry:  __dirname + "/app/main.js",
  output: {
    path: __dirname + "/public",
    filename: "[name]-[hash].js"
  }
}

几种source maps有什么区别?

  • source-map
    打包的同时生成sourcemap文件,会在打包文件末尾加上#sourceMappingURL,指向map文件位置,对打包文件的构建速度有影响;
  • cheap-module-source-map
    与source-map相同,但是不带列映射,相对source-map不带列映射可以提高项目构建速度,缺点是使得浏览器开发者工具只能对应到具体的行,不能对应到具体的列,会对调试造成不便;
  • eval-source-map
    使用eval打包源文件模块,在同一个文件中生成干净的完整的source map。不影响构建速度,对打包后输出的js文件的执行具有性能和安全的隐患。是开发阶段的一个非常好的选项,生产阶段一定不要用;
  • cheap-module-eval-source-map
    这是在打包文件时最快的生成source map的方法,没有列映射,和eval-source-map选项具有相似的缺点;

开发环境和生产环境要怎么选择source-map?

  • 开发环境推荐配置
    大型项目考虑到时间成本可以用:cheap-module-eval-source-map
    一般使用:eval-source-map

  • 生产环境推荐配置:cheap-module-source-map

上一篇:03-sourceMap -源代码与打包后代码的映射关系


下一篇:杂感之账户验证失败机制