webpack-devtool

作用:

webpack会将js代码进行压缩打包,loader也会处理相应代码,打包后代码很难进行查看,这也使得开发人员调试时很难找到对应代码位置。此时可采用devtool,通过资源地图的方式,给出打包后代码到原始代码的映射,方便开发人员调试。

要点:

webpack官方给出了多种模式,模式间主要区别以及应用场景已经给出,下面是主要参考参数

参数名参数描述参数值
devtool可以使用的devtool根据基础模式可自行组合,基础模式有:(eval、cheap、module、inline、hidden、nosources)
performance构建性能性能主要分为2种:build:构建速度,rebuild:重构速度
production是否建议生产环境使用yes为官方建议生产环境使用
qualitydevtool特性特性主要有5种:bundle模块不分离;generated直接生成资源地图;transformed转化后资源地图;original:原始代码;lines:只有行信息
commentdevtool描述见官方文档

示例:

module.exports = {
    /**
     * devtool目前有20多种,都是通过最基础的模式组合而成
     * 基础模式有:
     * (eval、cheap、module、inline、hidden、nosources) +'-source-map'
     */

    /**
     * eval会执行打包后的字符串
     * 字符串中包含了代码源文件位置的注释,同时告诉浏览器资源地图位置sourceURL
     * 然后将eval中内容放入资源地图中
     */
    // devtool: 'eval'

    /**
     * 打包后代码无eval包裹
     * 资源地图将单独存放于*.map文件下,最终通过sourceMappingURL引入
     */
    // devtool: 'source-map'

    /**
     * 三者几乎一致,都是将资源地图内联到打包文件中
     * 通过sourceMappingURL将资源文件做base64处理后引用
     * 所以这里又称作DataURL
     *
     * cheap: 不包含列信息,指浏览器点击跳转资源地图时不会跳到对应列,只会到行的开头
     * module: 指资源地图不经过loader处理,看到的就是原始书写的代码
     */
    // devtool: 'eval-source-map',
    // devtool: 'eval-cheap-source-map',
    devtool: 'eval-cheap-module-source-map',

    module: {
        rules: [
            {
                test: /\.js$/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        presets: ['@babel/preset-env']
                    }
                }
            }
        ]
    }
}

官方文档:https://webpack.docschina.org/configuration/devtool/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

问丶心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值