webpackdevtool配置简单对比简书_钢铁雄心4toolpackMOD

webpackdevtool配置简单对比简书_钢铁雄心4toolpackMOD作用:webpack会将js代码进行压缩打包,loader也会处理相应代码,打包后代码很难进行查看,这也使得开发人员调试时很难找到对应代码位置。此时可采用devtool,通过资源地图的方式,给出打包后代码到原始代码的映射,方便开发人员调试。要点:webpack官方给出了多种模式,模式间主要区别以及应用场景已经给出,下面是主要参考参数参数名参数描述参数值devtool可以使用的devtool根据基础模式可自行组合,基础模式有:(eval、cheap、module、inli.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

作用:

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

要点:

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

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

示例:

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/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185619.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Linux实例初始化系统盘后重新挂载数据盘「建议收藏」

    Linux实例初始化系统盘后重新挂载数据盘「建议收藏」Linux实例初始化系统盘后重新挂载数据盘

  • AC自动机总结「建议收藏」

    AC自动机总结0.引言:   由于大连现场赛的一道AC自动机+DP的题目(zoj3545RescuetheRabbit)被小媛同学推荐看AC自动机。经过一段时间的努力,终于把shǎ崽神牛的AC自动机专辑题目AK(其实还差那个高中题。。囧。。不让做)。   特别感谢:shǎ崽神牛,并附以链接:   http://www.notonlys

  • MySQL中将多行查询结果合并为一行展示SQL语句书写

    MySQL中将多行查询结果合并为一行展示SQL语句书写

  • densenet详解_dense参数

    densenet详解_dense参数DenseNet于论文《》中提出,是CVPR2017的oral。论文提出DenseNet并与ResNet和Inception做对较。为提升网络的效果,一般操作是增加网络的深度和宽度,但论文作者另辟蹊径,聚焦于feature的极致利用以获得更佳效果和更少参数。对于梯度消失问题,ResNet等网络使用跳层连接结构加以解决。作者延续该思路,提出DenseBlock,在保证网络层间最大程度的信息传输的同时,直接将所有层连接起来。……………………

  • vue双向绑定失效_vue热更新失效

    vue双向绑定失效_vue热更新失效为什么会失效呢首先vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的实现方式是get和set方法然后是通过Object.defineProperty()来实现数据劫持的。然后呢要是,实现数据的双向绑定,首先要对数据进行劫持监听,因为写的代码没有被监听到,所以只能手动setthis.$set(obj,key,value)查找的资料:1.实现一个监听器Observer,用来劫持并监听所有属性,如果有变动的,就通知订阅者。2.实现一个订阅者Watche..

  • PHP使用文件锁解决高并发问题示例

    PHP使用文件锁解决高并发问题示例

    2021年10月19日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号