码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue2 零基础入门 Vue2 零基础入门第一天 1.5 打包发布 && 1.6 Source Map


    Vue2 零基础入门

    Vue2 零基础入门第一天

    老师:黑马程序员

    文章目录

      • Vue2 零基础入门
        • Vue2 零基础入门第一天
        • 老师:黑马程序员
        • 1 前端工程化与webpack
          • 1.5 打包发布
            • 1.5.1 为什么要打包发布
            • 1.5.2 配置webpack的打包发布
            • 1.5.3 把JavaScript文件统一生成到js目录
            • 1.5.4 把图片统一生成到image目录中
            • 1.5.5 自动清理dist目录下的旧文件
          • 1.6 Source Map
            • 1.6.1 生产环境遇到的问题
            • 1.6.2 什么是Source Map
            • 1.6.3 webpack开发环境下的Source Map
            • 1.6.4 webpack生产环境下的Source Map
            • 1.6.5 Source Map的最佳实践

    1 前端工程化与webpack

    1.5 打包发布
    1.5.1 为什么要打包发布

    项目开发完成之后,需要使用 webpack 对项目进行打包发布,主要原因有以下两点:

    ① 开发环境下,打包生成的文件存放于内存中,无法获取到最终打包生成的文件

    ② 开发环境下,打包生成的文件不会进行代码压缩和性能优化

    为了让项目能够在生产环境中高性能的运行,因此需要对项目进行打包发布。

    1.5.2 配置webpack的打包发布

    在 package.json 文件的 scripts 节点下,新增 build 命令

    在这里插入图片描述

    –model 是一个参数项,用来指定 webpack 的运行模式。production 代表生产环境,会对打包生成的文件进行代码压缩和性能优化。

    通过 --model 指定的参数项,会覆盖 webpack.config.js 中的 model 选项。

    1.5.3 把JavaScript文件统一生成到js目录

    在 webpack.config.js 配置文件的 output 节点中

    在这里插入图片描述

    1.5.4 把图片统一生成到image目录中

    修改 webpack.config.js 中的 url-loader 配置项,新增 outputPath 选项即可指定图片文件的输出路径

    在这里插入图片描述

    1.5.5 自动清理dist目录下的旧文件

    为了在每次打包发布时自动清理掉 dist 目录中的旧文件,可以安装并配置 clean-webpack-plugin 插件

    在这里插入图片描述

    1.6 Source Map
    1.6.1 生产环境遇到的问题

    前端项目在投入生产环境之前,都需要对 JavaScript 源代码进行压缩混淆,从而减小文件的体积,提高文件的加载效率。

    此时就不可避免的产生了另一个问题:

    对压缩混淆之后的代码除错(debug)是一件极其困难的事情

    变量被替换成没有任何语义的名称
    空行和注释被剔除

    1.6.2 什么是Source Map

    Source Map 就是一个信息文件,里面储存着位置信息。也就是说,Source Map 文件中存储着压缩混淆后的代码,所对应的转换前的位置。

    有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码,能够极大的方便后期的调试。

    1.6.3 webpack开发环境下的Source Map

    在开发环境下,webpack 默认启用了 Source Map 功能。当程序运行出错时,可以直接在控制台提示错误行的位置,并定位到具体的源代码

    【默认Source Map问题】

    开发环境下默认生成的 Source Map,记录的是生成后的代码的位置。会导致运行时报错的行数与源代码的行数不一致的问题。

    【解决】

    开发环境下,推荐在 webpack.config.js 中添加如下的配置,即可保证运行时报错的行数与源代码的行数保持一致

    在这里插入图片描述

    1.6.4 webpack生产环境下的Source Map

    在生产环境下,如果省略了 devtool 选项,则最终生成的文件中不包含 Source Map。这能够防止原始代码通过 Source Map 的形式暴露给别有所图之人。

    【只定位行数不暴露源码】

    在生产环境下,如果只想定位报错的具体行数,且不想暴露源码。此时可以将 devtool 的值设置为nosources-source-map。

    【定位行数且暴露源码】

    在生产环境下,如果想在定位报错行数的同时,展示具体报错的源码。此时可以将 devtool 的值设置为source-map。

    1.6.5 Source Map的最佳实践

    ① 开发环境下:

    • 建议把 devtool 的值设置为 eval-source-map
    • 好处:可以精准定位到具体的错误行

    ② 生产环境下:

    • 建议关闭 Source Map 或将 devtool 的值设置为 nosources-source-map
    • 好处:防止源码泄露,提高网站的安全性

    实际开发中会使命令行工具(俗称 CLI)一键生成带有 webpack 的项目
    开箱即用,所有 webpack 配置项都是现成的
    只需要知道 webpack 中的基本概念即可

  • 相关阅读:
    8月最新修正版风车IM即时聊天通讯源码+搭建教程
    智云通CRM:客户想以之前的优惠价购买,如何回应才是正确的?
    从入门到精通|Yalmip+Cplex在电力系统中的应用(超棒,看不懂算我输,没有收获也算我输)
    day41
    让代码变美的第二天 - 策略模式
    LiveNVR流媒体服务Onvif/RTSP平台支持云端录像服务器上面集中录像存储在部署LiveNVR的服务器上面
    React基础知识学习-ReactRouter部分
    Day814.电商系统表设计优化案例分析 -Java 性能调优实战
    基于MobileNetV2主干的DeeplabV3+语义分割实现
    基于PLC的自动售货机设计
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126775955
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号