vite打包工具的简单使用

vite打包工具的简单使用

Vite 是一个由 Vue.js 核心团队开发的现代前端构建工具,它专注于提供更快的开发体验和高效的构建性能。Vite 利用 ES 模块的原生支持,实现了即时编译和热模块替换(HMR),并且在构建时采用 Rollup 来优化最终输出。

Vite 的基本配置
Vite 的配置文件是 vite.config.js 或者 vite.config.ts(如果你使用 TypeScript)。在这个文件中,你可以定义一系列的配置选项,包括但不限于以下几点:

  1. 服务器配置
    server 对象可以用来配置开发服务器,比如 host, port, open, proxy 等。
  2. 构建配置
    build 对象允许你配置构建输出,如 outDir, assetsDir, rollupOptions, minify, chunkSizeWarningLimit 等。
  3. 插件
    plugins 数组可以包含任何 Vite 插件,用于扩展或修改构建流程。
  4. 优化配置
    optimizeDeps 可以用来优化依赖,例如 include 和 exclude 控制哪些依赖会被优化。

Vite 打包优化策略
Vite 的优化主要是围绕以下几个方面:

  1. 代码拆分
    利用动态导入 (import()) 实现代码分割。
    使用 rollupOptions 中的 output 和 input 来控制输出和输入配置,进一步优化代码拆分。
  2. 资源压缩
    使用 Terser 或其他插件来压缩 JavaScript。
    使用 html-minifier-terser 或类似插件压缩 HTML。
    使用 imagemin 插件来压缩图像资源。
  3. 缓存利用
    Vite 内置的 HMR 和增量构建可以减少构建时间。
    使用 .vite 目录下的缓存文件来加速后续构建。
  4. 构建配置
    通过 rollupOptions 配置来排除不需要打包的外部依赖。
    调整 chunkSizeWarningLimit 来调整警告的 chunk 大小限制。
  5. 按需加载
    使用插件来实现第三方库的按需加载,比如 lodash-es 和 babel-plugin-import。
  6. 路径别名
    配置 resolve.alias 来简化和标准化模块导入路径。
  7. CDN 加速
    将一些稳定的外部依赖通过 CDN 加载,而不是打包进项目中。
  8. 分析工具
    使用 @rollup/plugin-analyzer 或类似插件来分析打包后的文件大小分布,帮助识别优化点。

示例:
vite.config.js 配置示例

import {
    defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';

export default 
### 使用 Vite 打包 Express 项目的最佳实践 #### 准备工作 为了使 Electron 和 Express 的集成更加高效,可以考虑采用现代前端构建工具 Vite 来替代传统的 Webpack 构建流程。Vite 提供更快的开发服务器启动速度以及按需编译功能[^3]。 #### 创建项目结构 建立一个基础目录来容纳整个应用程序: ``` my-electron-app/ ├── public/ # 静态资源文件夹 ├── src/ # 源代码文件夹 │ ├── main.js # 主进程入口文件 │ └── renderer.vue # 渲染器进程Vue组件 └── server/ # 后端服务(Express)相关逻辑 └── app.js # Express 应用程序配置 ``` #### 安装依赖项 通过 npm 或 yarn 添加必要的软件包到项目中: ```bash npm install express vite electron concurrently --save-dev ``` 这一步骤引入了用于创建 HTTP 服务器 (express),作为开发和生产模式下的前端构建工具(vite), GUI桌面应用框架(electron),并允许同时执行多个脚本(concurrently)[^2]. #### 修改 `package.json` 脚本部分 为了让一切顺利运作,在 package.json 文件中的 scripts 字段下定义如下命令: ```json { "scripts": { "start": "concurrently \"cross-env BROWSER=none npm run start-renderer\" \"wait-on tcp:8080 && electron .\"", "start-renderer": "vite", "build": "vite build" } } ``` 这里设置了三个主要指令:一个是用来同步启动前后端的服务;另一个是用来单独开启前端开发服务器;最后一个则是负责打包最终产物以便分发给用户安装使用[^4]. #### 编写简单的 Express API 在 `server/app.js` 中编写基本路由处理函数: ```javascript const express = require('express'); const path = require('path'); let app = express(); app.use(express.static(path.join(__dirname, '../dist'))); // Example route to demonstrate integration with frontend app.get('/api/hello', function(req, res){ res.send({ message : 'Hello from backend!' }); }); module.exports = { app }; ``` 此片段展示了如何设置静态文件托管位置,并提供了一个示例接口 `/api/hello`, 这个API可以在前端调用以验证两者之间的通信正常工作. #### 更新主进程中加载网页的方式 最后调整位于 `src/main.js` 内部的 BrowserWindow 实例化参数,使其指向由 Vite 输出后的 HTML 文件而不是直接指定本地HTML路径: ```javascript function createWindow () { let win = new BrowserWindow({ webPreferences: { preload: path.join(__dirname, 'preload.js'), contextIsolation: true, nodeIntegrationInWorker: false }, width: 800, height: 600 }); // Load the index.html of the app. win.loadURL(`file://${__dirname}/../index.html`); } app.whenReady().then(createWindow); ``` 上述更改确保当Electron窗口被打开时它能够正确显示经Vite优化过的页面内容[^1].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值