四、Webpack 开发环境的配置优化

六、开发环境 配置优化


1. HMR(模块热替换)

HMR: hot module replacement 热模块替换 / 模块热替换

作用:一个模块发生变化,只会重新打包构建这一个模块(而不是打包所有模块) ,极大提升构建速度

缺点:1.此HRM功能只对样式css文件有效,对js无效 2.会让html失去热更新功能

  • 如果想要js文件实现HRM功能,则需要修改一些代码,但对入口js文件不适用(入口js文件修改,还是会全部打包)

  • 如果想要html有效,则需要再entry入口里面,将html文件引入 entry: [’./src/js/index.js’, ‘./src/index.html’],


代码:只需要在 devServer 中设置 hot 为 true,就会自动开启HMR功能(只能在开发模式下使用)
//webpack.config.js文件

devServer: {
  contentBase: resolve(__dirname, 'build'),
  compress: true,
  port: 3000,
  open: true,
  // 开启HMR功能
  // 当修改了webpack配置,新配置要想生效,必须重启webpack服务
  hot: true
}

//注:此HRM功能只对样式css文件有效,对js文件(js修改,还是会全部重新打包)和 html失去热更新功能
   如果想要js文件实现HRM功能,则需要修改一些代码,但对入口js文件不适用(入口js文件修改,还是会全部打包)
   如果想要html有效,则需要再entry入口里面,将html文件引入 entry: ['./src/js/index.js', './src/index.html'],

2. Source-Map 代码错误调试

source-map: 如果代码构建后出错了,通过映射可以追踪个源代码错误

他有内联和外部两种:

  • 内联构建速度更快,但生成了一些文件,会让包体积变大 (适合开发环境)
  • 外部慢,但不会生成文件(适合生产环境)

有多种前缀取值:[inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map

source-map:外部 有错误代码准确信息,有源代码的错误位置
cheap-source-map:外部 有错误代码准确信息,有源代码的错误位置 但只能精确的行
hidden-source-map:外部 有错误代码错误原因,没有错误位置 不能追踪源代码错误,只能提示到构建后代码的错误位置
nosources-source-map:外部 有错误代码错误原因, 无任何源代码信息
heap-module-source-map:外部 有错误代码准确信息,有源代码的错误位置 module会将loader的source map加入
inline-source-map:内联 有错误代码准确信息,有源代码的错误位置 只生成一个内联source-map
eval-source-map:内联 有错误代码准确信息,有源代码的错误位置 每一个文件都生成对应的source-map,都在eval

速度:eval>inline>cheap>…


开发环境:eval-source-map / eval-cheap-module-souce-map

生产环境:source-map / cheap-module-souce-map

//webpack.config.js文件

//...

devtool: source-map'  //开发环境使用 eval-source-map  生产环境使用source-map

// 生产环境
mode: 'production',
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
从引用中可以得知,webpack从4版本开始就支持根据项目设定的mode来执行不同的优化策略。而且,webpack也支持自定义的优化策略。所以,你可以根据具体项目的需求来配置webpack优化策略。 引用中提到,掌握一些基础的配置对于工作、面试以及各种脚手架中webpack的调试都有不小的作用。在学习配置过程中,可能会遇到一些坑和心得。因此,对于webpack5.0版本的最优配置,可以根据具体项目的需求和学习中的经验来进行配置。 需要注意的是,由于你提供的引用内容比较零散,并没有具体提及webpack5的最优配置,所以需要更多的上下文信息来获得更准确的答案。具体来说,我们需要了解你的项目类型(是React还是Vue、是单页面应用还是多页面应用等)、期望的构建结果(文件大小、开发环境还是生产环境等)以及其他特殊需求(如代码分割、懒加载等)等。只有在了解了这些信息之后,才能为你提供更具体的webpack5最优配置建议。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [webpack5.0基础配置(全面)](https://blog.csdn.net/weixin_40756663/article/details/123074161)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [zz-webpack-react:webpack打包工具(React版本)](https://download.csdn.net/download/weixin_42165712/18809700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值