创建 Vue 3.0 项目的两种方法对比:npm init vue@latest vs npm init vite@latest

创建 Vue 3.0 项目的两种方法对比:npm init vue@latest vs npm init vite@latest

Vue 3.0 作为当前主流的前端框架,官方提供了多种项目创建方式。本文将详细介绍两种最常用的创建方法:Vue CLI 方式 (npm init vue@latest)Vite 方式 (npm init vite@latest),并分析它们的区别与适用场景。

一、Vue CLI 方式 (npm init vue@latest)

1. 创建项目

npm init vue@latest my-vue-project

2. 特点

  1. 官方传统脚手架:Vue 团队维护的经典项目生成工具
  2. 功能全面:内置 Webpack、Babel、ESLint 等完整工具链
  3. 渐进式配置:提供丰富的可选功能(Router, Pinia, TS等)
  4. 稳定成熟:适合中大型企业级应用

3. 项目结构

# 生成该结构的命令(可选展示)
tree -I 'node_modules|dist' --dirsfirst# 该结构是在生成的选项全部都勾选Yes的情况下# 结构如下
my-vue-project/
├── cypress/
├── public/
├── src/
│   ├── assets/
│   ├── components/
│   ├── router/
│   ├── stores/
│   ├── views/
│   ├── App.vue
│   └── main.ts
├── .eslintrc.cjs
├── .gitgnore
├── .prettierrc.json
├── .cypress.config.ts
├── .env.d.ts
├── index.html
├── package-lock.json
├── package.json
├── README.Mmd
├── tscofig.app.json
├── tscofig.config.json
├── tscofig.json
├── tscofig.vitest.json
└── vue.config.ts

4. 优势

  • 开箱即用的完整开发环境
  • 丰富的官方插件生态
  • 完善的Webpack配置
  • 更适合复杂项目

二、Vite 方式 (npm init vite@latest)

1. 创建项目

npm init vite@latest my-vite-project --template vue

2. 特点

  1. 新一代构建工具:基于原生ESM的极速开发体验
  2. 闪电般快速:冷启动和热更新极快
  3. 轻量简洁:默认配置更精简
  4. 现代化工具链:原生支持ES模块

3. 项目结构

# 生成该结构的命令(可选展示)
tree -I 'node_modules|dist' --dirsfirst# 该结构是在生成的选项全部都勾选Yes的情况下# 结构如下
my-vue-project/
├── public/
├── src/
│   ├── assets/
│   ├── components/
│   ├── App.vue
│   ├── main.ts
│   ├── style.css
│   └── vite-env.d.ts
├── package.json
├── package-lock.json
├── index.html
├── README.md
├── tscofig.app.json
├── tscofig.json
├── tscofig.node.json
└── vue.config.ts

4. 优势

  • 开发服务器启动极快
  • 热更新几乎瞬间完成
  • 生产构建同样高效
  • 配置更简单直观

三、核心差异对比

特性Vue CLI (Webpack)Vite
构建工具WebpackVite
启动速度较慢 (10-30秒)极快 (1-3秒)
热更新速度较慢极快
配置复杂度较复杂较简单
适合场景大型复杂项目中小型项目/快速原型
插件生态丰富正在快速增长
生产构建优化非常成熟优秀但相对较新

四、如何选择?

1. 选择 Vue CLI 如果:

  • 项目规模较大且复杂
  • 需要成熟的Webpack生态
  • 需要大量官方插件支持
  • 团队已有Webpack配置经验

2. 选择 Vite 如果:

  • 追求极致的开发体验
  • 项目规模中小型
  • 想尝试现代化构建工具
  • 需要快速启动和原型开发

五、迁移建议

对于已有Vue CLI项目,官方提供了逐步迁移到Vite的方案。可以通过以下步骤尝试:

  1. 安装Vite相关依赖
  2. 创建vite.config.js
  3. 逐步替换Webpack特定配置
  4. 测试验证功能

六、总结

两种方式都是创建Vue 3.0项目的优秀选择。Vue CLI提供了稳定全面的解决方案,而Vite则带来了开发体验的革命性提升。根据项目需求和团队熟悉度做出选择,也可以在新项目中尝试Vite,体验前端开发的新速度!

提示:无论选择哪种方式,都建议使用最新的Vue 3.2+版本,以获得最佳的组合式API体验和性能优化。

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

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

相关文章

Java求职者面试指南:Spring, Spring Boot, Spring MVC, MyBatis技术点深度解析

Java求职者面试指南:Spring, Spring Boot, Spring MVC, MyBatis技术点深度解析 面试官与程序员JY的三轮提问 第一轮:基础概念问题 1. 请解释一下Spring框架的核心容器是什么?它有哪些主要功能? JY回答:Spring框架的…

【修复MySQL 主从Last_Errno:1051报错的几种解决方案】

当MySQL主从集群遇到Last_Errno:1051报错后不要着急,主要有三种解决方案: 方案1: 使用GTID场景: mysql> STOP SLAVE;(2)设置事务号,事务号从Retrieved_Gtid_Set获取 在session里设置gtid_next,即跳过这个GTID …

定位接口偶发超时的实战分析:iOS抓包流程的完整复现

我们通常把“请求超时”归结为网络不稳定、服务器慢响应,但在一次产品灰度发布中,我们遇到的一个“偶发接口超时”问题完全打破了这些常规判断。 这类Bug最大的问题不在于表现,而在于极难重现、不可预测、无法复盘。它不像逻辑Bug那样能从代…

【网工】华为配置专题进阶篇②

目录 ■DHCP NAT BFD 策略路由 ▲掩码与反掩码总结 ▲综合实验 ■DHCP NAT BFD 策略路由 ▲掩码与反掩码总结 使用掩码的场景:IP地址强相关 场景一:IP地址配置 ip address 192.168.1.1 255.255.255.0 或ip address 192.168.1.1 24 场景二&#x…

基于STM32电子密码锁

基于STM32电子密码锁 (程序+原理图+PCB+设计报告) 功能介绍 具体功能: 1.正确输入密码前提下,开锁并有正确提示; 2.错误输入密码情况下,蜂鸣器报警并短暂锁定键盘&…

前端基础知识CSS系列 - 14(CSS提高性能的方法)

一、前言 每一个网页都离不开css,但是很多人又认为,css主要是用来完成页面布局的,像一些细节或者优化,就不需要怎么考虑,实际上这种想法是不正确的 作为页面渲染和内容展现的重要环节,css影响着用户对整个…

判断 NI Package Manager (NIPM) 版本与 LabVIEW 2019 兼容性

​判断依据 1. 查阅 LabVIEW 2019 自述文件 LabVIEW 2019 自述文件中包含系统要求,可通过 NI 官网访问。文件提到使用 NIPM 安装,但未明确最低版本要求,需结合其他信息判断。 2. 参考 NI 官方兼容性文档 NI 官方文档指出 LabVIEW 运行引擎与…

Django 安装指南

Django 安装指南 引言 Django 是一个高级的 Python Web 框架,用于快速开发安全且实用的网站。本文将详细介绍如何在您的计算机上安装 Django,以便您能够开始使用这个强大的工具。 安装前的准备 在开始安装 Django 之前,请确保您的计算机满足以下条件: 操作系统:Django…

Spring MVC参数绑定终极手册:单多参对象集合JSON文件上传精讲

我们通过浏览器访问不同的路径,就是在发送不同的请求,在发送请求时,可能会带一些参数,本文将介绍了Spring MVC中处理不同请求参数的多种方式 一、传递单个参数 接收单个参数,在Spring MVC中直接用方法中的参数就可以…

synchronized 做了哪些优化?

Java 中的 synchronized 关键字是保证线程安全的基本机制,随着 JVM 的发展,它经历了多次优化以提高性能。 1. 锁升级机制(锁膨胀) JDK 1.6 引入了偏向锁→轻量级锁→重量级锁的升级机制,避免了一开始就使用重量级锁&…

三甲医院AI医疗样本数据集分类与收集全流程节点分析(下)

3.3 典型案例分析 —— 以某三甲医院为例 为了更深入地了解三甲医院 AI 医疗样本数据收集的实际情况,本研究选取了具有代表性的某三甲医院作为案例进行详细分析。该医院作为区域医疗中心,在医疗技术、设备和人才方面具有显著优势,同时在医疗信息化建设和 AI 应用方面也进行…

设置程序开机自动启动

在Windows系统中,有几种方法可以将程序设置为开机自动启动。下面我将介绍最常用的三种方法,并提供一个C#实现示例。 方法一:使用启动文件夹(最简单) 按下 Win R 键打开运行对话框 输入 shell:startup 并回车 将你的…

多源异构数据接入与实时分析:衡石科技的技术突破

在数字化转型的浪潮中,企业每天产生的数据量呈指数级增长。这些数据来自CRM系统、IoT设备、日志文件、社交媒体、交易平台等众多源头,格式各异、结构混乱、流速不一。传统的数据处理方式如同在无数孤立的岛屿间划着小船传递信息,效率低下且无…

JVM——Synchronized:同步锁的原理及应用

引入 在多线程编程的世界里,共享资源的访问控制就像一场精心设计的交通管制,而Synchronized作为Java并发编程的基础同步机制,扮演着"交通警察"的关键角色。 并发编程的核心矛盾 当多个线程同时访问共享资源时,"…

跟着AI学习C# Day26

📅 Day 26:C# 异步编程进阶 ✅ 学习目标: 深入理解 async/await 的底层机制;掌握 ConfigureAwait(false) 的作用与使用场景;避免异步死锁,理解同步上下文(Synchronization Context&#xff09…

Scrapy | 通过爬取豆瓣Top250电影信息来学习在中间件中应用随机请求头和代理ip

中间件的使用 1.scrapyl中间件的分类和作用1.1 scrapy中间件的分类1.2 scrapy中间的作用:预处理request和response对象2.下载中间件的使用方法:3.定义实现随机User-Agent的下载中间件3.1 实战:爬取豆瓣Top250电影信息3.2 中间件使用实现随机User-Agent4. 代理ip的使用4.1思路…

【深度学习】深度学习入门:从理论到实践的全面指南

深度学习入门:从理论到实践的全面指南 深度学习:开启人工智能新时代的钥匙一、深度学习的广泛应用场景1.1 改变生活的深度学习应用1.2 行业变革案例深度解析案例一:深度学习检测皮肤癌案例二:移动端OCR技术突破案例三:…

MySQL 数据库操作完整指南

MySQL 数据库操作完整指南 目录 创建数据库 连接数据库 创建表 约束详解 插入数据 查询数据 多表联合查询 连接查询 高级查询 更新数据 删除数据 视图详解 存储过程详解 函数详解 触发器 事务处理 索引优化 安全性管理 备份和恢复 性能优化 删除表和数据库 1. 创建数据库 基…

Java面试复习:面向对象编程、Java 8新特性与Spring

Java面试复习:面向对象编程、Java 8新特性与Spring 面向对象编程 概念解析:面向对象编程(OOP)是将现实世界中的概念抽象为软件模型的编程范式,包括封装、继承和多态。 核心原理: 封装:通过访…

蓝牙数据通讯,实现内网电脑访问外网电脑

最近突然想到了一个可以绕开单位安全管控软件,让单位内部办公电脑连上外网的方法。大概是这个样子,让单位办公电脑与自己的外网电脑进行蓝牙配对,然后用配对成功的蓝牙进行网络数据交互。这里大家可能会想用一下蓝牙的网络共享功能&#xff0…