• webpck 之(14) 优化配置 之 source-map


    开发环境和生产环境皆可

    source-map: 一种提供源代码到构建后代码映射技术(如果构建后代码出错了,通过映射可以追踪源代码的位置)

      [inline-|hidden-|eval-] [nosources-] [cheap-[module-]] sourcce-map

      source-map  外部

         错误代码准确信息 和 源代码的错误位置

      inline-source-map    内联

        1.只生成一个内联source-map,内容在打包的built.js中

         2.错误代码准确信息 和 源代码的错误位置

      hidden-source-map  外部   

         1.会生成一个built.js.map (同名.map)的文件

         2.错误代码准确信息 但是 没有错误位置,不能追踪到源代码的位置,只能提示构建后代码的错误位置

      eval-source-map  也是内联

        1.每一个文件都生成对应的source-map,都在eval  内容在打包的built.js中

        2.错误代码准确信息 和 源代码的错误位置

      nosources-map  外部

         1.错误代码准确信息 但是 没有任何源代码信息

      cheap-source-map 外部

         1.错误代码准确信息 和 源代码的错误位置

         2.只能精确到行

            若很多代码写成一行,就只能告诉我们是哪一行,却不知道是哪一列,所以要避免有这种情况发生

           ( 但是 source-map 却可以很准确告诉哪一行)

      cheap-module-source-map  外部

         1.错误代码准确信息 和 源代码的错误位置

         2.module会将loader的source map加入

      总结: 内联和 外部的区别:1.外部生成了文件,内联没有 2.内联构建速度更快

    开发环境:速度快 , 调试更友好 

      速度快(eval>inline>cheap)

          eval-cheap-source-map  组合可以打包更快

          eval-source-map

      调试更友好

          source-map  这种调试最友好

          cheap-module-source-map  

          cheap-source-map

      所以通过以上结论: eval-source-map  /  eval-cheap-module-source-map 最符合

      扩展: vue-cli默认是使用 eval-source-map

    生产环境:源代码要不要隐藏?调试要不要更友好

        内联会让代码体积变大,所以在生产环境不用内联,所有内联方案都排除掉

        nosources-source-map  全部隐藏

        hidden-source-map  隐藏源代码 不隐藏构建后的代码,且会提示构建后代码错误信息

       ------> 如果为了安全用上面两个

       但是若仅仅考虑打包速度和调试友好,那就用 source-map /  cheap-source-map

    怎么配置?

    在webpack.config.js中配置和devServer同级的

    module.exports = {
      devServer:{
    
      },
      devtool:'source-map'
    }
  • 相关阅读:
    转载:PHP的session过期设置
    转载:php实现记住密码自动登录
    jQuery方法大全
    转载: IE、FF、Safari、OP不同浏览器兼容报告
    div布局的小心得
    PHP MVC模式在网站架构中的实现分析
    梳理一下 html 中的一些基本概念
    DNN学习笔记代码学习:Null 荣
    DNN学习笔记:DNN类中的ProviderType字段 荣
    在苏州 荣
  • 原文地址:https://www.cnblogs.com/zmztya/p/14713082.html
Copyright © 2020-2023  润新知