【前端工程化】一.前端工程化;二.使用webpack打包vue项目;三.在webstorm中安装vite插件,通过vite构建工具创建vue项目

news2025/1/13 16:45:26

目录

一.前端工程化

1.webpack

(1)定义:是一个前端的构建工具。前端代码格式多(html、css、js、图片),前端构建工具的作用是将各种格式不同文件打包到一起,方便项目的上线运行。(将开发环境的代码转换成运行环境的代码)

(2)主要功能:

2.webpack的使用:配置文件所需要的信息

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

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

(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

(5)项目的目录结构

(6)写代码

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

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

(9)运行打包指令(npm run build)进行打包

(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-cil和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的


一.前端工程化

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:指明存储路径

        filename:指定打包后的文件名

        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)运行打包指令(npm run build)进行打包

(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-cil和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/191557.html

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

相关文章

60 k8s集群中container监控指标有label但是没有value

k8s集群中container监控指标有label但是没有value 1、现象 无法获取到以下label的值:container, image, pod, name 集群刚搭建完的时候一切都是正常的,后来运行一段时间后就缺这缺那的。 2、原因排查 由于这些指标是kubelet上报的,因此看了对应节点上kubelet的日志,发现…

从事Java开发学历是门槛吗?

“学历低,工作好找吗,以后跳槽、转型会不会有门槛?”是的,学历这块敲门砖,在哪里都适用。工厂流水线里学历高的更容易被提拔为管理者,学历越高,对于工具的使用越好。门槛越高,薪资待…

代码随想录算法训练营第五十六天_第九章_动态规划 | 300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

LeetCode 300.最长递增子序列 给你一个整数数组 nums ,返回其中最长递增子序列的长度。 视频讲解https://www.bilibili.com/video/BV1ng411J7xP文章讲解 https://programmercarl.com/0300.%E6%9C%80%E9%95%BF%E4%B8%8A%E5%8D%87%E5%AD%90%E5%BA%8F%E5%88%97.html 思…

蓝库云|一文搞懂什么是MES(制造执行系统),制造业该如何选择

MES(Manufacturing Execution System)是一种将制造过程可视化并为工人提供指导和支持的系统。它的优势在于可以优化人员、机器和设备等资源,消除制造对个人技能的依赖。在本文中,蓝库云将以通俗易懂的方式说明MES的概要以及与生产…

CS5260电路参考|Type-C转VGA转换器方案|Type-C转VGA转接线方案

CS5260电路参考|Type-C转VGA转换器方案|Type-C转VGA转接线方案 CS5260是一款TYPEC转VGA转换方案芯片。 CS5260作为标准的USB Type-C显示端口Alt模式接收器,CS5260由双通道主链路差分对,一个AUX通道差分对组成。 CS5260主链接作为双通道差分对&#x…

npm Eslint 报错

❤ npm Eslint 报错 npm init --yes初始化项目 ○ 安装ESLint模块 npm add eslint --dev,node-modules/.bin目录生成eslint的cli程序 ○ 查看eslint的版本 使用npm eslint --version ○ 使用yarn eslint ./index.js 当代码中出现语法错误时,eslint无法检…

vue前端框架应用案例(一)实现简单的加法页面

目录vue实现效果目录结构Count.vueApp.vuemain.jsindex.htmlvuex实现效果vuex使用步骤vuex基本结构目录结构store/index.js文件CountVuex.vueApp.vuemain.jsindex.html本博客参考尚硅谷官方课程,详细请参考 【尚硅谷bilibili官方】 本博客以vue2作为学习目标&…

【黄啊码】windows如何使用tp5.1配置workerman和gateway(不要看官方文档,不要抄网友文档,OK?)

大家好,我是黄啊码,由于项目需要被迫无奈在老项目上整合workerman,整整浪费了我一天,按着tp官方文档去做,一个又一个的坑,然后百度网友的答案,又是一个又一个的天坑,真的无力吐槽&am…

基于Android 的校园疫情防控管理系统设计与实现

需求信息: (1〉通知公告。各级联络员可在此发布各类通知公告。 (2〉应急动态。发布国家公布的各类数据信息,如在本次疫情期间,平台集成丁香园丁香医生疫情动态模板,实时更新全国疫情数据,帮助师生了解疫情地图&#xf…

建设工程质量检测管理办法3月1日起施行

建设工程质量检测管理办法(2022年12月29日中华人民共和国住房和城乡建设部令第57号公布 自2023年3月1日起施行)第一章 总则第一条 为了加强对建设工程质量检测的管理,根据《中华人民共和国建筑法》《建设工程质量管理条例》《建设工程抗震…

液晶12864显示字符

液晶12864简介12864是128*64点阵液晶模块的点阵数简称。基本参数1、低电源电压(VDD:3.0~5.5V)。2、显示分辨率:12864点。3、内置汉字字库,提供8192个1616点阵汉字。4、内置128 个168 点阵字符。5、2MHZ 时钟频率。6、显示方式&…

PriorityQueue

PriorityQueue其本质是一个优先级队列的集合。 1. 优先级队列 那什么是优先级队列呢?我们先从它的概念聊起。 概念: 前面介绍过队列,队列是一种先进先出(FIFO)的数据结构,但有些情况下,操作的数据可能带有优先级&a…

Grafana 中文入门教程 | 构建你的第一个仪表盘

Grafana 读音:/grəˈfɑːnˌɑː/ 在大厂工作久了,时常对一些工具的存在觉得理所当然。 比如说,需要计算资源的时候,一个配置文件就可以要来两百台虚拟化好的机子。需要试下缓存?点下鼠标就可以要到几十个配置好的…

简单高效的字符串匹配算法

Quick Search算法 算法简介 Quick Search算法属于Sunday算法的一种。Sunday算法由Daniel M Sunday在1990年提出。论文原文:A VERV FAST SU6STRINC SEARCH ALGORITHM 在论文中,作者提出了三个不同的算法:Quick Search算法、Maximal Shift算…

IO流——字符缓冲流

复制文本文件–一次读写一个字符 –一次读写一个字符数组 不带参数: package com.demo03;import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;/** 需求:* 把项目路径下的FileWriterDemo.java中的内容复制到项目路径…

上门服务小程序怎么开发-上门服务小程序源码功能

目前上门服务类型新型行业已经占据了很大的市场所在,上门家政服务,上门做饭,上门按摩,上门私教,上门美容没发等等一些列的,目前上门系列的在市场分额还是特别大的,趋势比较大,今天就…

Docker 安装镜像与使用命令

按照阿里云的操作文档安装 docker:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 这里仅写 Windows 版的,其他版本见上面的链接 1. 安装/升级Docker客户端 对于Windows 10以下的用户,推荐使用Docker ToolboxWin…

一文带你了解UI自动化测试框架

PythonSeleniumUnittestDdtHTMLReport分布式数据驱动自动化测试框架结构 1、Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object.Common_Page.login_page import Login_Page from H…

九龙证券|首月定增市场“开门红” 上市公司密集融资谋扩产

2023年首月,A股定增市场迎来“开门红”。 据上海证券报记者统计,年初至今,已有35家公司完成定增,合计募资986.86亿元,较上年同期的477.3亿元大幅增长超100%,延续了2022年末的高位运行态势。同时&#xff0c…

前端项目发布后,如何使正在使用的用户更新为最新的版本?

1.背景 每次项目上线后,异常监控总是零零散散报一些资源加载或者解析失败的告警 仔细对比chunk的hash值会发现已经是上一版本的js文件为什么会出现这个问题呢?也不难想到,项目是单页应用,页面使用懒加载分多个chunk打包&#xff…