Webpack和Vite简单使用

news2024/12/29 8:27:45

目录

WebPack

介绍

基础使用

初始化使用

 webpack.config.js文件

webpack开发服务器

vite

介绍

使用

使用vite创建vue框架项目


WebPack

介绍

当我们习惯了在node中编写代码的方式后,在回到前端编写html、css、js这些东西会感觉到各种的不便。比如: 不能放心的使用模块化规范(浏览器兼容性问题) 、即使可以使用模块化规范也会面临模块过多时的加载问题。
我们就迫切的希望有一款工具可以对代码进行打包,将多个模块打包成一个文件。这样一来即解决了兼容性问题,又解决了模块过多的问题。
构建工具就起到这样一个作用,通过构建工具可以将使用ESM规范编写的代码转换为旧的JS语法,这样可以使得所有的浏览器都可以支持代码。

基础使用

初始化使用

新建一个src文件夹

进入该目录中初始化node项目

npm init -y

 

可以看到src目录中多了package.json文件

安装webpack   -D表示开发环境

 npm add -D webpack webpack-cli

新建一个js文件,进行打包尝试

 

 可以看到目录中新增了一个dist目录,里面就是已经打包好的文件

 再书写一个home.js文件,添加方法并且暴露

 要想使用es6的模块导入需要在package.json文件中添加配置:

 引入并调用

重新打包

再查看dist中文件打包后的变化

发现代码全部被打包压缩为了一行

执行该打包后的文件查看效果

 webpack.config.js文件

 entry : 用来指定打包时的主文件 默认./src/index.js

新建hay.js文件

 重新打包测试:

 

 entry还可以通过传入数组进行指定多个文件进行打包

再新建ha.js文件

 

打包查看dist目录文件

 entry还可以传入对象进行多文件打包

 

 

 output:配置打包后的地址

 

plugin插件

安装插件

npm add -D html-webpack-plugin

 

重新打包

 

重新编译后会自动生成html文件 

webpack开发服务器

在使用webpack中,每次编辑代码后需要手动进行构建,可以直接使用webpack自带的监听命令来进行监听构建

调整index.js文件代码

构建监控 

 npx webpack --watch  

 

 实际开发中可以通过搭建webpack服务器来进行构建监控

安装webpack开发服务器

npm add -D webpack-dev-server

 

启动服务

npx webpack serve --open 

 测试:

 自动编译的有些慢,但是监听的构建都是成功的 

devtool:"inline-source-map" 配置源码的映射

vite

介绍

Vite是一种新型的前端构建工具,它能显著改善前端开发体验。
Vite由两个主要部分组成:
dev server:利用浏览器的ESM能力来提供源文件,具有丰富的内置功能并具有高效的HMR
生产构建:生产环境利用Rollup来构建代码,提供指令用来优化构建过程
Vite作为一个基于浏览器原生ESM的构建工具,它省略了开发环境的打包过程,利用浏览器去解析imports,在服务端按需编译返回。同时,在开发环境拥有速度快到惊人的模块热更新,且热更新的速度不会随着模块增多而变慢。因此,使用Vite进行开发,至少会比Webpack快10倍左右。

使用

初始化node项目

安装vite

  npm add -D vite

 

 新建index.js文件

新建html文件

 输入 npx vite进行构建

 测试:

 可以看到vite的编译明显要比webpack快的多

使用vite构建项目

npx vite build

 

 

 预览构建的项目

npx vite preview

 

 

还可以直接在package.json文件中进行命令配置

 

对应直接输入 npm run dev,npm run build ,npm run preview即可 

使用vite创建vue框架项目

使用npm

npm create vite@latest

使用yarn

yarn create vite

使用pnpm

pnpm create vite

 

 

 选择项目类型

 这里以创建vue来做示例

创建完成

 

启动测试:

 

 

 

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

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

相关文章

九、ElasticSearch 运维 -集群维度

1. 查看集群健康 用于简单的判断集群的健康状态,集群内的分片的分配迁移情况。 GET _cluster/health-------------------------Respond----------------------------- {"cluster_name" : "test-jie","status" : "green",…

使用数组的方式计算---任意给出一个年,月,日,判断出这是一年的第几天

任意给出一个年,月,日,判断出这是一年的第几天; 闰年算法:能被4整除且不能被100整除,或者能被400整除 如2015年 5 10 是这一年的第131天 使用数组的方式计算,将每个月的天数放在一个数…

蜂网互联 企业级路由器v4.31 密码泄露漏洞

漏洞描述 蜂网互联企业级路由器v4.31存在接口未授权访问,导致攻击者可以是通过此漏洞得到路由器账号密码接管路由器 漏洞影响 蜂网互联企业级路由器v4.31 网络测绘 app“蜂网互联-互联企业级路由器” 漏洞复现 payload http://ip:port/action/usermanager.ht…

c++ 杂食记

1. inline关键字 在C中,inline关键字用于指定函数应该被内联。 当一个函数被内联时,它的代码将直接插入到调用该函数的代码中,而不是作为单独的函数调用 这可以提高程序的性能,因为它减少了函数调用的开销,并提高了数…

计算机网络那些事之 MTU 篇

哈喽大家好,我是咸鱼 今天我们来聊聊计算机网络中的 MTU (Maximum Transmission Unit) 什么是 MTU ? MTU(Maximum Transmission Unit)是指数据链路层中的最大传输单元 通俗点来讲,MTU 是指数据链路层能…

基于workerman 即时通讯聊天(uniapp + pc)

laychat workerman 实现 webIM即时通讯系统 下载 laychat-master.zip https://github.com/hszyh/laychat 实现了功能: 1、通过snake后台实现对聊天成员的增删改查,动态推送给在线的用户 2、实现了群组的查找 3、实现了创建我的群组,删除我的群组,添加群组成员…

性能测试工具——LoadRunner内部介绍以及常见问题

目录 Tools Recording Options General Options 注释脚本 Review log Runtime-Settings General Network Browser Internet Protocol HTTPS证书 总结: Tools Recording Options 接下来我们挨个看一下里面的东东以及区别 General(通常的&am…

【Python编程】将格式为ppm和pgm的图片批量转换为png或jpg格式的图片

前序 如果文件夹中有异常图片,则可以使用以下代码从而跳过这些异常图片而不影响转换代码的运行。例如本人在解压时中断而导致的图片异常问题,图片示例如下: from PIL import ImageFile ImageFile.LOAD_TRUNCATED_IMAGES True正文 导入用…

Golang学习日志 ━━ gin-vue-admin插件开发记录

gin-vue-admin是一套国人用golang开发的后台管理系统,本文记录插件开发内容。 官网:https://www.gin-vue-admin.com/ 学习视频:https://www.bilibili.com/video/BV1kv4y1g7nT/ 插件目录 后端位置:\server\plugin\ 前端位置&#…

信号与系统复习笔记——采样与通讯系统

信号与系统复习笔记——采样与通讯系统 采样定理 冲激串采样函数可表示为: p ( t ) ∑ n − ∞ ∞ δ ( t − n T ) p(t) \sum_{n-\infty}^{\infty} \delta(t - nT) p(t)n−∞∑∞​δ(t−nT) 周期 T T T 称为采样周期,而 ω s 1 T \omega_s …

7月29-31日·相约上海丨上海国际智能遮阳与建筑节能展览会即将举办

上海国际智能遮阳与建筑节能展览会(ISSE)即将盛大召开。这个七月,期待您的参与,一同共聚盛会! 1、关于展会 国内建筑遮阳市场尚在快速发展期,随着社会经济的发展以及建筑节能环保概念的不断深入&#xff…

开发的功能不都是经过上线测试,为什么上线后还会那么多 Bug ?

你是否也经过这样的灵魂拷问:「开发的功能不都是经过上线测试的吗?为什么上线后还会那么多 Bug ?」。 大家明明都很努力,为什么「输出」的结果没有更进一步?今天我们就水一水这个「狗血」话题,究竟是谁个锅…

一半以上的年轻人存款不足10万元,能带给我们什么思考?

目录 年轻人存款现状现在的年轻人真的没有存款意愿吗?为什么年轻人存款少?收入低,臣妾做不到啊生活成本高消费观念不同超前消费、过度负债存款意识弱 依据自身情况聊聊你的目前的存款在哪一个区间?你觉得存款难吗?谈谈…

Open62541 NodeSet loader 编译与使用

大多数的OPC UA 建模工具通常是将NodeSet 编译成为C 或者C# 的源代码,然后和Server 程序一起编译。比如uaModeler,Opc foundation 的UA ModelCompiler 以及Open62541 提供的nodeset_Compiler 都是如此,这种方式在载入配套规范的Nodeset 无疑是…

使用Jenkins构建发布一个简单的maven项目

上一章,完成了jenkins在ubuntu上的安装,这一章将使用单个Jenkins服务完成一个maven项目的打包和发布。 1、在Jenkins的管理页面中安装相关插件 用到的插件有:Maven Integration、Git、Publish Over SSH三个,在Dashboard -> M…

全国水系与流域(五级)矢量数据下载

1. 全国水系与流域(五级)矢量数据 全国共计3040条水系,4015个流域 全国水系与流域(五级)矢量数据 链接 解压密码:rserforum.com 说明:“流域等级划分包括1-5级,其中1-2级为一级支流…

从零开始理解Linux中断架构(12)--硬中断之中断控制器(GICV3)

前面我们搞清楚了elx_irq的外围部分,了解清楚了kernel_enter/kernel_exit大致的作用。本节我们进入到硬中断处理部分。硬中断处理程序的位置见下图: 硬中断处理主要的工作就是判断中断发起源,应答中断控制器,根据中断源查询出并调用该中断源的设备级处理函数。 前面…

pcl matlab 计算平面与空间三角形的交线

一、生成一个平面 过程: 单有法向量不能确定一个平面,至少还要有平面上的一个点的坐标才行 假如知道法向量n(A,B,C) 而平面过某点M(x0,y0,z0) 那么平面的方程为 A(x-x0)B(y-y0)C(z-z0)0 要在图中画出来,那么先要给x,y一个范围 举个离子&#…

Appuploader:常见错误及解决方法指南

目录 前言 一.登录apple官网,注册账号 二.下载Appuploader和登录 三.bundle ID 四.设备管理 五.证书管理 六.描述文件管理 七.打包 八.安装测试 (PS:第一次安装成功会显示不受信任,进入设置-通 安全性”界面&#xff0c…

Interactive Natural Language Processing

本文是对《Interactive Natural Language Processing》的翻译。 交互式自然语言处理 摘要1 引言2 交互式对象2.1 人在环2.2 KB在环2.3 模型或工具在环2.4 环境在环 3 交互界面3.1 自然语言3.2 形式语言3.3 编辑3.4 机器语言3.5 共享内存 4 交互方法4.1 预训练语言模型4.2 提示…