前端工程化

news2024/11/20 21:24:22

一、前端工程化

1、webpack

(1)定义:是一个前端的构建工具。前端代码格式多(html、css、js、图片),前端构建工具的作用是将各种格式不同文件打

包到一起,方便项目的上线运行。(将开发环境的代码转换成运行环境的代码)

开发环境的代码:便于阅读

运行环境的代码:能够更快的执行(通常会对代码进行压缩)

(2)主要功能:

A、代码压缩:将js代码、css代码、静态的资源文件(图标、图像)等进行混合压缩,使代码的体积变小、加载速度更快

B、统一编译语法:css、less、sass,ES6语法、TypeScript语法等,语法要求不同在不同浏览器上运行时会出现问题,就需

要使用构建工具进行统一编译

C、模块化处理:css、js都有自己的模块化处理方式,对于这些模块化的语法在不同浏览器上的兼容性很差,需要使用构建工

具统一模块化的形式,提高兼容性

2、webpack的使用:配置文件所需要的信息(五大配置属性)

(1)entry(入口配置):配置打包的入口文件(即从项目的哪个文件开始打包)

(2)output(输出配置):配置打包后的文件,名称是什么、存储路径是什么

path:指明存储路径

filenem:指定打包后的文件名

clean:指定打包前是否清空打包的输出目录

(3)Loaders(加载器):webpack只能处理js、json等文件,若需要打包处理其他格式的文件(css、less、sass、vue、图

片)时需要使用不同的loader(插件)辅助完成。若安装了不同的loader,需要在webpack的配置中通过module.rules进行配置

(4)plugins (插件):扩展webpack的功能。如html插件

(5)mode(打包的模式): webpack 有两种打包模式:生产模式 production 和 开发模式 development。两种模式都只能编

译ES6中的模块(Module)语法。

3、示例

(1)创建文件夹:webpack-study

(2)进入该文件夹,打开cmd窗口

(3)将该文件夹初始化为npm项目:npm init

(4)安装 webpack 开发依赖:npm install webpack webpack-cli -D

强调:

A、使用npm安装包时,若没有指定版本号,默认安装最新版本

B、package.json文件中dependencies键的含义是发布后还依赖的,devDependencies键的含义是开发时的依赖。

C、npm install —save:将依赖包安装到dependencies键下;npm install —save-dev将依赖包安装到devDependencies键下

D、i 是 install 的缩写,-D 是 —save-dev 的缩写

(5)项目的目录结构:

(6)写代码

(7)在项目的根目录下创建webpack的配置文件:webpack.config.js

//webpack的基本打包配置有:entry、output、mode三项即可

var path = require('path')

module.exports = {
    entry: './src/main.js', //配置打包入口文件
    output: {  //输出配置
        path: path.join(__dirname,'dist'), //配置输出文件的保存位置
        filename: 'js/bundle.js' ,//打包后的文件名
        clean: true //打包前是否将打包的输出目录清空
    },
    mode: 'development' //以开发模式打包
}

(8)在package.json文件中配置打包指令

"scripts": {
  "build": "webpack"
}

(9)运行打包指令进行打包

(10)将打包后的js文件导入页面文件(index.html)中

4、webpack中使用的loader

(1)url-loader:用来打包图像文件

(2)’style-loader’, ‘css-loader’, ‘less-loader’:用来打包样式文件

(3)babel-loader:打包js文件

(4)vue-loader:打包.vue文件

5、webpack中的plugins配置

二、使用webpack打包vue项目

1、使用vue-cli和webpack创建项目

(1)创建文件夹:demo

(2)进入demo文件夹,使用 vue init webpack 项目名

2、在项目的根目录下创建webpack.config.js文件,进行相关的打包配置
3、执行 npm run build指令进行打包

三、在webstorm中安装vite插件,通过vite构建工具创建vue项目

1、vite构建工具的核心配置文件:vite.config.js
2、用vite创建vue项目时,默认vue版本是3.0的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/191166.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java学习笔记---干货

Java学习 一、java版本 JavaSE :标准版(桌面应用程序、控制台程序) JavaEE:E企业级开发(Web端,服务器的开发) JDK:Java开发工具 JRE:Java运行环境 JVM:…

通信原理笔记—基带信号的功率谱

目录 二进制纯随机序列基带信号的功率谱: 基带信号的功率谱分析: (1)信号(t)的功率谱: (2)信号v(t)的功率谱: 随机序列S(t)的功率谱: 二进制纯随机序列基带信号的功率谱: 基带信号的功率谱分析&#…

软件需求说明书确保正确性的6大关键点

软件需求说明书对软件开发项目非常关键,如何确保其正确性,关键有6大要点! 1、需求与其他需求是否相互冲突或重复 一般需求规格说明书长达几百页,并不是一蹴而就的,因此可能出现前后观点的重叠或差异,或同一…

[HDCTF2019]Maze 题解

少欲则心静,心静则事简。 ——人民日报 1.查壳 是一个加了upx壳的32位EXE文件 2.使用Kali Linux脱壳 maze题目脱壳3.去除脏字节 没有找到主函数,发现这段汇编代码标红了,IDA分析崩溃,这是掺杂了花指令 这里jnz,不论判…

中国电子学会2022年03月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)

青少年软件编程(图形化)等级考试试卷(三级) 分数:100 题数:38 一、单选题(共25题,共50分) 1. 以下四个选项中,运行哪个积木块,可能得到523这个数值?&…

25-35分布式事务seata

分布式事务Seata使用及其原理剖析 Seata的三大角色 TC (Transaction Coordinator) - 事务协调者 维护全局和分支事务的状态,驱动全局事务提交或回滚。 TM (Transaction Manager) - 事务管理器 定义全局事务的范围:开始全局事务、提交或回滚全局事务。 RM…

devicetree和启动参数解析流程

devicetree和启动参数解析流程 文章目录devicetree和启动参数解析流程一、设备树解析概述二、early device tree 解析流程三、device node节点创建流程四、bootargs参数解析4.1 bootargs参数配置4.2 early param参数解析4.&…

Docker - 2. Docker 工作原理

目录 1. Docker入门图解 2. Docker 整体架构和底层通讯原理 1. Docker入门图解 (1) Docker是一个Client-Server结构的系统,Docker守护进程(图中Docjer daemon)运行在主机上,然后通过Socket链接客户端往返,守护进程从客户端接收命令并管理在…

PySpark 之 SparkSQL 编程

1. DataFrame 的创建 1.1 RDD 和 DataFrame 的区别 RDD 是一种弹性分布式数据集,Spark中的基本抽象。表示一种不可变的、分区储存的集合,可以进行并行操作DataFrame是一种以列对数据进行分组表达的分布式集合, DataFrame等同于Spark SQL中的…

jvm宏观上类的加载机制整体和微观上通过类加载器进行加载的过程

说到一个词“类的加载”其实含有歧义,因为在jvm中可以说有一个宏观的,即整体上的类的加载,还有一个微观上的加载,也就是狭隘的通过类加载器的加载class文件的过程,这里介绍这两种“类的加载”。 类的整体加载过程(类加…

Windows C盘清理的正确方式,从此你告别红色烦恼

前言 伴随着电脑工作的时间越久,C盘常常会提示显示其内存已不足。 C盘容量不足将会极大影响系统的运行速度,电脑会变卡、死机。 今天,就给大家分享一个C盘空间清理终极解决方案: 1、利用Windows自己附带的磁盘清理工具 1&…

[oeasy]python0068_ 字体样式_正常_加亮_变暗_控制序列

字体样式 回忆上次内容 上次了解了一个新的转义模式 \33 逃逸控制字符 esc esc 让输出 退出标准输出流 进行控制信息的设置 可以清屏也可以设置光标输出的位置 还能做什么呢? 可以设置字符的颜色吗???🤔 查看细节…

BIC-2022-BDT:区块链和基于数字双胞胎的智能制造高效数据处理安全框架

摘要工业物联网具有智能连接、数据实时处理、协同监测、信息自动处理等特点,是物联网时代的重要组成部分之一。异构工业物联网设备对高数据速率、高可靠性、高覆盖、低延迟的要求,已成为信息安全领域的一大挑战。工业物联网中的智能制造产业需要多方协同…

(02)Cartographer源码无死角解析-(53) 2D后端优化→位姿图优化理论讲解、

讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解(02)Cartographer源码无死角解析-链接如下: (02)Cartographer源码无死角解析- (00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/127350885 文末…

【ardunio+sx1268】与【esp32+sx1268】实现不同主控单片机lora通讯

2023.21 在前文 esp32 sx1268 的 spi 驱动调通之后,又尝试 ardunio sx1268 驱动,实现不同主控对于lora模块 sx1268 的控制 文章目录1. 实验结果2.硬件描述2.1 sx12682.2 ardunio ATmega3283.接线实物图5.开发环境6.代码实现关于esp32sx1268 的驱动以及代…

爆款制作获1200w播放,B站UP主+品牌如何迈入2023

1月13日,bilibili 2022年度百大UP主已经揭开帷幕,今年延续2021年的评审标准,依然从专业性、影响力、创新性三个维度进行评选。来源-B站这套评审标准已经实施两年,早期的百大评选上榜的更多是来自知名度高、影响力广的UP主&#xf…

2.关系数据库

学习过程参考(后续章节同) 【公开课】数据库系统概论(王珊老师)(完结) 《数据库系统概论》思维导图 【专栏必读】数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详…

中国电子学会2021年09月份青少年软件编程Scratch图形化等级考试试卷三级真题(含答案)

2021-09 Scratch三级真题 分数:100 题数:38 一、单选题(共25题,每题2分,共50分) 1. 程序中要使用不确定的数值,这时要用到的是?(D ) A、图章 …

Github如何使用详细介绍(保姆级教学)

前言 📜 “ 作者 久绊A ” 专注记录自己所整理的Java、web、sql等,IT技术干货、学习经验、面试资料、刷题记录,以及遇到的问题和解决方案,记录自己成长的点滴 目录 一、Github如何搜索 二、如何判断一个项目好不好呢&#xff1f…

yolov5 模型输出的格式解析

工作需要, 又需要对yolov5 输出的模型进行转onnx 再用c进行后续处理。 两个问题。 yolov5 的模型输出的是个啥啊?转成onnx后输出的和yolov5输出的处理是否一样呢? 关于第一个问题,yolov5 的模型输出的是个啥啊? 以前…