受够了webpack的速度,我选择了vite重构vue2项目

前言

在前端开发的浪潮中,Vue 一直是最受欢迎的框架之一。

但随着项目的发展,基于 Webpack 的 Vue 项目在启动和热更新时的缓慢表现,让很多开发者头疼不已。

好消息是,Vite 的出现为我们带来了全新的解决方案,今天我们就来聊聊如何把 Vue2 项目轻松迁移到 Vite,开启高效开发的新篇章。

首先,我们要明白 Vite 的优势。Vite 采用了 ES 模块热更新等先进技术,大幅提升了开发效率。对于 Vue2 项目,只要遵循正确的迁移步骤,就能享受到 Vite 带来的快速启动和近乎无延迟的热更新体验。

下面,让我们开始这个迁移之旅。

第一步:创建 Vite 项目

在开始之前,确保你的开发环境中已经安装了 Node.js。接下来,打开终端,执行以下命令来创建一个新的 Vite 项目:

npm init vite@latest

在命令执行过程中,按照提示输入项目名称,比如命名为 "vite-demo"。

当被问及项目类型时,选择 "vanilla",即不带框架的纯 JavaScript 项目。

这样,我们就搭建起了一个简洁的 Vite 项目基础架构。

第二步:配置 Vite

为了使 Vite 能够支持 Vue2,我们需要对 Vite 进行一些特定的配置。

首先,安装必要的插件:

  • @vitejs/plugin-vue2:这个插件能够让 Vite 支持 Vue2 项目,是 Vue2 与 Vite 顺利协作的关键桥梁。
  • vite-plugin-commonjs:由于 Vue2 的许多第三方库是基于 CommonJS 格式组织的,而 Vite 本身基于 ES 模块(ESM),这个插件能够帮助我们将 CommonJS 格式转换为 ESM 格式,从而确保项目的顺利运行。
  • unplugin-vue-components:这个插件用于实现组件的懒加载,尤其适合大型项目。对于拥有众多组件的项目来说,它可以有效减少初始加载的 bundle 大小,提升性能。

安装完成后,我们需要在项目根目录下创建或修改 vite.config.js 文件,添加以下配置代码:

javascript 复制代码
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue2";
import commonjs from "vite-plugin-commonjs";
import Components from "unplugin-vue-components/vite";

export default defineConfig({
  plugins: [vue(), commonjs(), Components({})]
});

第三步:替换项目文件

接下来,我们需要替换原有的项目文件,以适应新的 Vite 架构。删除 src 目录下的所有文件,然后创建一个新的 main.js 文件:

javascript 复制代码
import Vue from 'vue';
import App from './App.vue';

new Vue({
  el: '#app',
  render: h => h(App)
});

同时,创建一个新的 App.vue 文件:

vue 复制代码
<template>
  <div>Vue 2 与 Vite 的完美结合</div>
</template>

<script>
export default {
  name: "App",
};
</script>

第四步:运行项目

一切准备就绪后,我们只需在终端中执行以下命令来启动项目:

npm run dev

此时,Vite 将在本地启动开发服务器,默认端口为 5173。打开浏览器,访问 http://localhost:5173,你将看到我们刚刚创建的 Vue2 应用已经成功运行在 Vite 的环境中了。

但是报错了

需要重新安装

kotlin 复制代码
pnpm install vue@2 vue-template-compiler@2

重新运行一下,项目完美启动,这个时候就可以把我们之前的代码进行迁移,别忘了让测试把所有的页面都点击一下

值得一提的是,迁移完成后,项目启动时间将从原来的数分钟缩短至十几秒,而热更新的速度更是几乎达到了无延迟的程度。

这种效率的提升,无疑会极大地加快我们的开发节奏,让开发过程更加顺畅愉悦。

总结

将 Vue2 项目迁移到 Vite 并没有想象中那么复杂,只要按照上述步骤逐步操作,就能轻松实现项目的升级。

Vite 的强大性能和高效性,为 Vue2 项目注入了新的活力,也为前端开发带来了更美好的体验。

相关推荐
没落英雄12 分钟前
6. 从零搭建一个 AI Agent —— 构建 Web 前端,让用户能和 agent 实时交互
前端·人工智能·架构
爱勇宝21 分钟前
《道德经》第4章,老子写得很像在描述一个“底层系统”。
前端·后端·程序员
snow@li1 小时前
Java:Java 服务器(Web 容器 / Servlet 容器)完整工作清单
java·服务器·前端
洋子2 小时前
Yank Note 系列 14 - 我和 AI 怎么一起写文章
前端·markdown
江华森2 小时前
前端构建工具 Webpack 速览
前端·webpack·node.js
谙忆10243 小时前
HTTP 图片缓存实战:Cache-Control、ETag、内容哈希文件名与 CDN 回源到底怎么配
前端
小妖6663 小时前
React input 输入卡顿问题
前端·javascript·react.js
এ慕ོ冬℘゜3 小时前
JavaScript 数据类型检测与转换、运算符超全实战详解
前端·html
kyriewen3 小时前
我用 AI 写代码快了 3 倍——然后同事的 Code Review 全变成了我的
前端·程序员·ai编程