webpack+vite前端构建工具全掌握(完结篇)

了解vite与rollup

rollup

  • rollup打包特点
  • rollup核心配置(vite用的rollup打包)
  • 要使用的核心插件

    @rollup/plugin-node-resolve 是一个 Rollup 插件,用于解析 Node.js 模块,使得 Rollup 可以使用 node_modules 中的第三方模块1

    @rollup/plugin-terser 是一个用于 Rollup 的插件,旨在通过 Terser 工具最小化生成的 JavaScript 包12

vite

基础内容

Vite 是一种新型的前端构建工具,旨在提升开发体验。它主要由两个部分组成:一个基于原生 ES 模块的开发服务器(支持快速模块热更新 HMR)和一个使用 Rollup 打包的构建工具,用于生成优化的生产环境代码。Vite 支持多种框架模板,如 Vue、React、Svelte 等。

Create-Vite 是一个脚手架工具,用于快速生成基于 Vite 的项目模板。它支持多种框架和语言选项,帮助开发者快速搭建项目。

构建vite项目

pnpm create vite

构建vue项目ue

pnpm create vue

  • 处理各种资源(无需配置,vite都已经配置完了,直接使用即可)

vite的相关基础配置 --> vite.config.js

js 复制代码
import { defineConfig } from 'vite'

export default defineConfig({
// 图片的转化--> 
build: {
assetsInlineLimit: 20000 // 小于20000转成base64, 大的转成单独的图片
},
server: {
port:8089,
proxy: {
"/api": {
  target: "www.xxx.com",
  rewrite: (path) => {
    return path.replace(/^\/api/,"/app")
  }
}
}
},
// 这里是用vite创建项目时,提前配好的插件配置
plugins: [
vue(), // 用来识别.vue文件
vueJsx(), // 用来识别.jsx文件
vueDevTools(),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
extensions: [".js",".ts",".css"]
},
})

代码分割

  • 把node------modules文件下的单独打成一个包 --> 函数式编写
  • 其他设置
  • 共享配置
  • base 根路径 '/'与相对路径 './'的区别 -->(www.jianshu.com/p/d19c4ff8b...)

  • '/' : 例如 *base: 'example.com/'*,表示资源会以指定... URL 为前缀,适用于 CDN 或跨域部署。

  • './': 例如 base: './' ,适用于嵌入式开发或动态路径部署,但需要注意可能会引发路径解析问题,尤其是 public 文件夹的资源引用。

  • 开/发环境 :在开发服务器中,base 决定了静态资源的加载路径,可以通过 import.meta.env.BASE_URL 动态获取。

  • 生产环境 :在打包后,base 决定了 HTML 文件中 和 等标签的资源路径前缀,确保资源能够正确加载。

** 推荐看的文章(juejin.cn/post/735209...)*

*

  • 静态资源的概念

静态资源是指那些不需要服务器端处理或数据库查询的资源,通常包括HTML、CSS、JavaScript、图片等。这些资源在服务器上是预先存在的文件,客户端请求时,服务器直接返回这些文件,客户端浏览器解析并渲染它们。

  • 自带模板仓库

npm create vite@latest my-vue-app -template vue

一些好用的插件

尤大推荐的神器unplugin-vue-components,解放双手!以后再也不用呆呆的手动引入(组件,ui(Element-ui)库,vue hooks等) - 掘金
*

相关推荐
倪旻萱29 分钟前
XSS漏洞----基于Dom的xss
前端·xss
JSON_L3 小时前
Vue rem回顾
前端·javascript·vue.js
brzhang4 小时前
颠覆你对代码的认知:当程序和数据只剩下一棵树,能读懂这篇文章的人估计全球也不到 100 个人
前端·后端·架构
斟的是酒中桃5 小时前
基于Transformer的智能对话系统:FastAPI后端与Streamlit前端实现
前端·transformer·fastapi
烛阴5 小时前
Fract - Grid
前端·webgl
JiaLin_Denny5 小时前
React 实现人员列表多选、全选与取消全选功能
前端·react.js·人员列表选择·人员选择·人员多选全选·通讯录人员选择
brzhang5 小时前
我见过了太多做智能音箱做成智障音箱的例子了,今天我就来说说如何做意图识别
前端·后端·架构
为什么名字不能重复呢?6 小时前
Day1||Vue指令学习
前端·vue.js·学习
eternalless6 小时前
【原创】中后台前端架构思路 - 组件库(1)
前端·react.js·架构
Moment6 小时前
基于 Tiptap + Yjs + Hocuspocus 的富文本协同项目,期待你的参与 😍😍😍
前端·javascript·react.js