Vue3+Vite从零创建项目到打包配置全指南
简介面向初学者的Vue3与Vite项目创建指南以傻瓜式步骤讲解从环境准备到项目部署的完整流程无需深厚基础即可上手适合刚接触前端工程化、希望快速搭建项目的开发者。内容涵盖开发工具安装、项目初始化、本地服务器启动、组合式应用封装复用、路由配置以及生产环境打包部署等关键环节每个步骤都配有可直接运行的命令与代码片段例如编写自定义组合式函数、封装可复用逻辑、配置多页面路由等方便读者边看边练、对照实现。资源包共690个文件以JavaScript、TypeScript、JSON、Markdown、Map等类型为主包含项目源码、类型声明、配置文件、依赖映射及说明文档并附有Vue Router、Pinia等常用模块文件。压缩包大小10.83MB内部目录按源码、公共组件、组合式函数、路由与状态管理等模块划分结构清晰便于按需检索和对照学习。目前已有2791人学习教程贴合实际开发场景按步骤操作即可完成项目从零到一的搭建同时理解组合式编程的代码组织方式与现代化构建工具的核心优势为后续深入开发打下扎实基础。 写这篇教程的起因很简单我经常看到很多初学者在群里问“vue3项目到底怎么创建”然后就被网上一堆复杂的教程劝退了。说实话用 vue3 vite 创建项目这件事本身真的没有那么复杂打开终端敲几行命令就能搞定难的是你不知道为什么这样做以及踩坑之后不知道怎么排查。我用这套流程带过不少新人也帮不少人解决过创建、启动、打包阶段的报错。这篇文章不搞那些花里胡哨的东西就从零开始把 vue3 vite 创建项目这条链路讲明白每一步该干什么、为什么这么干、遇到问题怎么查全部捋清楚。不管你是刚入门的前端新人还是后端同学想写点前端页面这套傻瓜式教程都可以帮你稳稳地把项目跑起来。1. 环境准备与版本选择1.1 Node.js 版本是第一个坑vue3 vite 的项目本质上是运行在 Node.js 环境上的所以第一步不是装什么编辑器而是确认电脑里的 Node.js 版本够不够新。Vite 4 要求 Node.js 14.18 / 16Vite 5 要求 18Vite 6 则明确要求 18.0.0 或 20.0.0 以上的版本。如果你还在用 Node 12 或者更老的版本执行创建命令的时候大概率会直接报错报错信息类似npm error engine node12.0.0 is incompatible。检查版本的方法很简单打开终端Windows 用 cmd 或 PowerShellmacOS 用 Terminal输入node -v npm -v我推荐直接把 Node.js 装到最新的 LTS 版本目前 20.x 是最稳妥的选择。官网nodejs.org下载安装包一路下一步就行。装完之后记得重新开一个终端窗口让环境变量生效。注意不要装那种“预览版”“Current”版本虽然功能新但有些依赖可能还没跟上回归起来很麻烦。干活就用 LTS准没错。1.2 包管理器npm 还是 pnpm创建 vue3 vite 项目时你一定会遇到“用什么包管理器安装依赖”的问题。默认大家都会用 npm因为它是 Node.js 自带的零成本。但如果你稍微折腾过几个项目就会发现npm 安装依赖有时候会特别慢还会产生一些依赖层级过深的问题。所以我更推荐 pnpm它的特点是速度快、节省磁盘空间最重要的是它把依赖做成了硬链接多个项目共用一份缓存安装效率比 npm 高很多。npm install -g pnpm装完以后后面所有命令都可以把npm替换成pnpm比如pnpm install、pnpm dev、pnpm build。如果你暂时不想用 pnpm继续用 npm 也完全没问题流程是一样的。1.3 编辑器选择老实说VSCode 最省心很多后端同学习惯用 IDEA 或者 Eclipse会问我能不能直接在 IDEA 里创建 vue3 项目。我的建议是前端项目还是单独用 VSCode 或 WebStorm 打开比较舒服。原因很简单Vue 生态的插件、调试工具、代码提示几乎都是围绕 VSCode 做的。在 IDEA 里强行写 Vue 也不是不行但你会遇到插件不全、提示缺失、格式化风格冲突等一系列问题。我自己实测下来的感受是前端代码就用 VSCode 写后端代码用 IDEA两扇窗各管各的协作最顺畅。2. 三步创建你的第一个 Vue3 项目2.1 使用 create-vue 脚手架创建vue3 vite 的官方脚手架叫create-vue它是 Vue 官方维护的和vue-cli是两套东西注意不要混淆。创建项目只需要一条命令npm create vuelatest执行这条命令后命令行会进入交互式问答模式让你填写项目名称、选择需要安装的功能。接下来你只需要按照自己的需求回答几个问题。2.2 交互选项逐项说明很多新手看到问号就慌了不知道该选什么。我把常见的问题列一下每个选项都解释清楚选什么、为什么Project name项目名称输入你想要的项目目录名比如vue3-demo。注意这里不要用大写字母不要用中文最好用横杠连接多个单词。Add TypeScript?是否添加 TypeScript我建议选 Yes。虽然 TS 刚接触会有点不习惯但现在的 vue3 项目里 TS 已经是默认趋势了包括组件 props、ref 泛型类型提示能帮你少写很多低级 bug。Add JSX Support?如果你没有用 JSX 写 Vue 组件的需求可以先选 No。Vue 的主推写法是模板语法template项目默认不需要 JSX。Add Vue Router?如果你的项目有多个页面、需要跳转就选 Yes。单页面或组件展示类的 demo 可以选 No后面手动加也不难。Add Pinia?Pinia 是 vue3 时代的状态管理库如果你需要跨组件共享数据比如用户登录状态、购物车数据就选 Yes。如果只是做练习选 No 也影响不大。Add Vitest?这是单元测试框架初学者可以先选 No不用在测试上花太多时间。Add ESLint and Prettier?建议选 Yes。ESLint 负责检查代码规范Prettier 负责格式化代码虽然刚上手会感觉“怎么这么多报错”但养成习惯之后收益非常大。选完之后脚手架就会在当前目录下生成一个完整的 vue3 vite 项目骨架。2.3 启动与目录结构项目生成后进入目录安装依赖启动开发服务器cd vue3-demo npm install npm run dev默认情况下终端会输出Local: http://localhost:5173/浏览器打开这个地址看到 Vue 官方的欢迎页面就说明项目创建成功了。这时候你会看到生成的项目里有一个src目录里面主要是main.js入口文件、App.vue根组件、components/组件目录、router/路由配置如果你选了的话。vite 的项目结构其实很直观一段时间后你就发现所有页面代码基本都写在src下面而项目根目录的vite.config.js才是整个项目最关键的控制文件。3. 核心配置vite.config.js 一定要会改3.1 最常用的几个配置项vite.config.js是 vite 的配置文件项目启动、打包的信息都在这里控制。新人最容易用到的配置有以下三个。第一个是resolve.alias路径别名。默认情况下你要在代码里引用src下的文件得写一长串相对路径比如../../components/HelloWorld.vue页面层级一深就很难受。配置别名之后可以直接用/components/HelloWorld.vue这种简洁的写法import { fileURLToPath, URL } from node:url import { defineConfig } from vite import vue from vitejs/plugin-vue export default defineConfig({ plugins: [vue()], resolve: { alias: { : fileURLToPath(new URL(./src, import.meta.url)) } } })第二个是server.host 和 server.port开发服务器监听配置。默认只监听 localhost也就是说只能在你自己电脑上访问。如果你的项目需要跑在局域网里用手机或者同一网络下的其他电脑测试页面就需要设置server: { host: 0.0.0.0, port: 5173, open: true }open: true的意思是启动后自动打开浏览器省去手动输入的步骤。第三个是server.proxy代理配置。前端开发时调用后端接口最常见的坑就是跨域。vite 里可以直接配置代理把域名相同的/api请求转发到本地后端服务server: { proxy: { /api: { target: http://localhost:8080, changeOrigin: true } } }配置完以后你在代码里写的fetch(/api/user)会被自动转发到http://localhost:8080/api/user跨域问题就轻松解决了。这里的/api前缀可以自己定义只要后端接口也遵循这个规范就可以。3.2 环境变量与多环境配置在实际项目中开发环境和正式环境的接口地址往往不一样。vite 支持通过.env.development和.env.production文件来区分环境变量。在项目根目录新建.env.developmentVITE_API_BASE/api再新建.env.productionVITE_API_BASEhttps://api.example.com代码里通过import.meta.env.VITE_API_BASE读取运行时 vite 会根据当前启动模式自动加载对应文件。这样一来本地联调和发布上线都不用改代码省下不少麻烦事。需要注意环境变量必须用VITE_开头否则 vite 不会将它暴露给前端代码这也是很多新手容易踩的坑。4. 生产构建esbuild 与 terser 怎么选4.1 两者的核心区别项目开发完执行npm run build构建时vite 会压缩代码这个压缩环节涉及一个关键配置项build.minify。很多人在网上看到minify: terser和minify: esbuild两种写法但不知道有什么区别其实核心区别就三点压缩速度、压缩率、兼容性。esbuild 是用 Go 语言写的速度极快几乎不会在构建时让你等太久所以 vite 默认就使用它。terser 是 JavaScript 写的工具速度相对慢一些但压缩率更高生成的代码体积更小而且在处理一些老语法、特殊场景时更保守、更不会出错。对比项esbuildterser压缩速度极快较慢压缩效果产物稍大一点产物更小兼容性主要面向现代浏览器更擅长处理兼容老环境是否需要额外安装内置无需安装需要安装terser依赖4.2 实际配置与选用建议如果你的包体不大项目面向的是现代浏览器那么用默认的 esbuild 就足够了构建快、零配置体验很好。如果你发现构建出的包体积偏大或者你明确需要兼容一些比较老的环境、需要用 terser 做更精细的压缩比如剔除 console、debugger那可以这样配置npm install -D terser然后修改 vite.config.jsexport default defineConfig({ build: { minify: terser, terserOptions: { compress: { drop_console: true, drop_debugger: true } } } })上面这段配置会在构建时自动删除所有console.log和debugger语句正式包更干净也不会在浏览器控制台输出一堆调试信息。这个操作在生产环境很实用但要注意如果你在线上还需要查日志就别开drop_console否则排查问题时会很被动。4.3 简单聊聊 Vite 6 和 Rolldown看到这里你可能已经发现 vite 的构建链路中分包、依赖预构建是 esbuild生产打包底层用的其实是 Rollup。这个架构虽然已经很优秀但 vite 团队一直没停下来他们正在用 Rust 重写底层打包器这个项目叫 Rolldown。Vite 6 中Rolldown 作为实验性方向已经可以尝试了但目前它还在快速迭代生产环境不建议立刻大规模切换。对新手来说知道有这条技术趋势就够了。今年或明年等你熟练使用 vite 后可能正好赶上 Rolldown 稳定版发布届时打包性能还有一轮大提升。5. 常见问题与排查技巧5.1 启动报错或白屏的常见原因我遇到过最多的启动报错就是vite命令在运行时报 Node 版本不兼容或者安装依赖时网络原因导致某些包下载不完整。遇到这种情况我的排查顺序是第一步确认 Node 版本node -v如果低于 18立刻去升级。第二步删除node_modules和package-lock.json重新安装rm -rf node_modules package-lock.json npm install注意Windows 下没有rm -rf用rimraf或者在资源管理器里手动删除目录即可。这个方法能解决大部分奇怪报错因为依赖树装得不干净是本地环境最常见的隐性 bug。提示npm 安装依赖特别慢或者老失败时可以检查一下 npm 源是否设置得合理用国内镜像源可以明显缓解网络问题配置命令很常见搜一下就能找到属于基础操作。5.2 [vite:esbuild-transpile] 报错排查有些同学在运行项目时会看到类似[vite:esbuild-transpile] transform failed with 2 errors的报错。这个错误看着吓人其实本质是 esbuild 在转换某个 JS/TS 文件时遇到了语法解析问题。常见原因有三个一是项目里某个文件存在语法错误比如少括号、缺分号、用了更高级的语法特性但 esbuild 版本太老不支持这种去对应文件看一眼就能发现。二是某些依赖包与当前 vite 版本不兼容导致转换失败。三是node_modules里的缓存坏了。处理方式很简单先清掉缓存重新安装依赖再升级 vite 到最新版本然后重启项目。如果还报错就把报错信息里提到的文件路径复制出来打开那个文件重点检查语法。这个报错十有八九是文件本身的问题别一上来就重装系统。5.3 多人协作时的版本统一问题很多人用 vue3 vite 开发时会忽略.nvmrc文件或者engines字段的作用。如果你和小伙伴协作大家的 Node 版本不一致就会出现“我这儿跑得好好的你那儿报错”的尴尬情况。解决方法是在项目根目录创建.nvmrc文件里面只写一行20.11.0这样所有团队成员执行nvm use就能自动切换到统一的 Node 版本极大减少环境不一致带来的低级问题。如果在 Edge 浏览器里发现页面有时候关不掉右上角的最小化按钮或者界面异常大部分情况是某个 CSS 库和浏览器版本的小冲突先检查浏览器版本是否为最新再用开发者工具定位元素看看是不是某个动画或样式覆盖写歪了。这类兼容性 bug 不算少见但也别慌逐层排查就行。6. 下一步怎么走项目创建好、跑顺畅之后后面的路就很清晰了。先把模板语法和ref、computed、生命周期这几个核心概念过一遍比背什么“vue2 和 vue3 的区别”有用得多。等你熟悉了父子组件通信、pinia 状态共享再去看组合式函数composables和自定义指令基本就能应付日常业务开发了。我自己的体会是vue3 vite 的这套开发模式最大的优势不是“快”这么简单而是把前端开发的门槛降下来了项目结构干净、启动反馈快、报错信息也比较明确。你不需要一开始就懂底层原理只要会跑项目、会看报错、会改vite.config.js就已经能独立写完一个小型前端应用了。后面如果你遇到依赖安装半天下不完、打包体积越滚越大、旧项目升级 vite 主版本出现兼容问题这类事再回来翻这篇文章里的排查思路应该能省不少时间。慢慢来跑通第一个项目比什么都强。本文还有配套的精品资源点击获取

相关新闻

Hermes记忆机制源码解析:分层设计与检索调优实战

Hermes记忆机制源码解析:分层设计与检索调优实战

1. 从“失忆”说起:Hermes 记忆机制到底在解决什么问题做过智能体开发的人大概率都经历过这种尴尬:上一轮对话里用户明明说了“我叫老张,做跨境电商的”,下一轮再问“帮我写个选品建议”,模型却像第一次见面一样&#…

2026/9/20 11:42:10 阅读更多 →
Obsidian多设备同步方案横向对比:从WebDAV到Git的务实选择

Obsidian多设备同步方案横向对比:从WebDAV到Git的务实选择

1. 我手里的设备到底有多杂,以及我想要的同步长什么样我用了三年多 Obsidian,最烦的从来不是写作本身,而是同步。这是我的真实场景:主力是一台 Windows 台式机和一台 MacBook,手机端还常年揣着一部 Android 和一部 iPh…

2026/9/20 11:42:10 阅读更多 →
2026年AI会议助手横评:五款主流产品实测与选型指南

2026年AI会议助手横评:五款主流产品实测与选型指南

1. 为什么2026年选AI会议助手,先想清楚这几件事2026年再聊AI会议助手,已经不是“要不要用”的问题,而是“用哪一款”“怎么用到极致”的问题。我把市面上一圈产品都实测过一轮,发现一个很明显的变化:AI转写和生成纪要早…

2026/9/20 11:42:10 阅读更多 →

最新新闻

CANN ops-transformer FlashAttn 性能建模:D=256 下基本块 (M, N) 的选择与 Cube Bound 达成分析

CANN ops-transformer FlashAttn 性能建模:D=256 下基本块 (M, N) 的选择与 Cube Bound 达成分析

CANN ops-transformer FlashAttn 性能建模:D256 下基本块 (M, N) 的选择与 Cube Bound 达成分析 【免费下载链接】ops-transformer 本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-t…

2026/9/21 12:04:03 阅读更多 →
VSS横向扩展指南:如何把视频AI处理规模从单机扩展到生产级

VSS横向扩展指南:如何把视频AI处理规模从单机扩展到生产级

VSS横向扩展指南:如何把视频AI处理规模从单机扩展到生产级 【免费下载链接】video-search-and-summarization NVIDIA AI Blueprint for video search and summarization (VSS) is a GPU-accelerated reference architecture for building video analytics agents wi…

2026/9/21 12:02:56 阅读更多 →
MCP Python SDK 依赖注入实战:用 `Resolve` 让工具参数脱离模型幻觉

MCP Python SDK 依赖注入实战:用 `Resolve` 让工具参数脱离模型幻觉

MCP Python SDK 依赖注入实战:用 Resolve 让工具参数脱离模型幻觉 【免费下载链接】python-sdk The official Python SDK for Model Context Protocol servers and clients 项目地址: https://gitcode.com/gh_mirrors/pythonsd/python-sdk 在 MCP&#xff08…

2026/9/21 12:02:56 阅读更多 →
Foam for VS Code 深度指南:用 Markdown + Wikilinks 构建本地优先的个人知识库

Foam for VS Code 深度指南:用 Markdown + Wikilinks 构建本地优先的个人知识库

Foam for VS Code 深度指南:用 Markdown Wikilinks 构建本地优先的个人知识库 【免费下载链接】foam A personal knowledge management and sharing system for VSCode 项目地址: https://gitcode.com/gh_mirrors/fo/foam Foam 是一款运行在 VS Code 之内的…

2026/9/21 12:02:56 阅读更多 →
Nix 1.11 发布说明深度解读:确定性构建验证、Nix 表达式预取与沙箱命名统一

Nix 1.11 发布说明深度解读:确定性构建验证、Nix 表达式预取与沙箱命名统一

Nix 1.11 发布说明深度解读:确定性构建验证、Nix 表达式预取与沙箱命名统一 【免费下载链接】nix Nix, the purely functional package manager 项目地址: https://gitcode.com/gh_mirrors/ni/nix 导读 本文基于 Nix 官方发布说明 rl-1.11.md,系…

2026/9/21 12:01:54 阅读更多 →
Torchvision 内部代码同步脚本 fbcode_to_main_sync.sh 使用指南:将 fbsync 分支变更批量落地为开源 PR

Torchvision 内部代码同步脚本 fbcode_to_main_sync.sh 使用指南:将 fbsync 分支变更批量落地为开源 PR

计算机视觉深度学习图像处理数据集 【免费下载链接】vision Datasets, Transforms and Models specific to Computer Vision 项目地址: https://gitcode.com/gh_mirrors/vi/vision 点击查看 免费下载 本篇文章围绕 scripts/README.rst 所记载的唯一实用脚本 fbcode…

2026/9/21 12:01:54 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →