ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Vue.js环境搭建完整指南:从Node.js到Vite脚手架的实战解析

Vue.js环境搭建完整指南:从Node.js到Vite脚手架的实战解析 上周一个刚转行前端的朋友发来截图终端里一排npm ERR浏览器白屏Console 飘红。他说自己装了一个下午的 Vue.js 环境愣是没看到一个 “Hello World”。这个场景我太熟了几乎每一批接触 Vue.js 的新人都会在环境搭建这一步被劝退一部分。其实 Vue.js 本身并不复杂卡住大家的往往是环境搭建背后那些没人讲透的细节Node 版本怎么选、脚手架是什么、npm install到底在装什么、localhost:5173那个页面是怎么来的。这篇文章就把“Vue.js 简介与环境搭建”这件事拆开揉碎讲清楚适合完全没接触过前端工程化的新手也适合环境一直没跑通、想系统排查一遍的老手。换个角度说环境搭建的真正价值不只是能跑起来一个欢迎页而是逼着你理解前端工程的几个基础链路后面所有开发都是在这些链条上做文章。1. 先别急着装环境Vue.js 解决的是什么问题很多新手一上来就复制安装命令装完之后对着模板代码发呆完全不知道自己在干什么。这是本末倒置了。在动手之前至少得知道 Vue.js 是什么、解决什么痛点、以及它和传统开发方式有什么本质区别。环境只是工具思维方式才是 Vue.js 给你带来的真正改变。1.1 数据驱动视图从“手动改 DOM”到“声明式更新”早几年用 jQuery 写页面最典型的场景是页面上有一个显示用户名的span用户登录之后你得手动找到这个 DOM 节点再用.text()把新用户名塞进去。如果同时有头像、积分、等级要更新每一步都得手动getElementById或者$(.classname)代码越写越多数据流也越来越乱。一个地方忘了更新页面就和数据对不上查半天都不知道是哪里漏了。Vue.js 的核心思路是“数据驱动视图”你把数据和页面的映射关系声明出来之后只需要修改数据视图自动跟着变。用模板语法写{{ username }}底层的数据一变页面上的内容立刻更新不需要你手动碰 DOM。这种“声明式更新”最大的价值是让开发者从繁琐的 DOM 操作里解放出来把精力放回业务逻辑本身。我习惯用一个类比数据是投影仪后面的源文件页面是幕布上的画面你只改源文件画面自然跟着变而不是每次都要去擦掉幕布重画。这个思维转换比敲多少行代码都重要。1.2 组件化开发页面不是页面是一堆积木传统开发方式里一个复杂的页面往往是一个巨型 HTML 文件CSS、JS、HTML 全都纠缠在一起。改一个按钮样式可能要全局搜索半天生怕影响别的模块。Vue 把这种局面彻底改掉页面被拆成一个个独立的组件每个组件拥有自己的模板、样式和逻辑互不干扰。组件化带来的好处很直接第一复用。同一个按钮、同一个弹窗、同一个表格封装成组件之后哪个页面要用就直接引不用复制粘贴十几遍。第二可维护。整个页面像一堆积木出了问题只需要钻进对应的积木里修不用动其他地方。第三协作。团队开发时大家各写各的组件没人会因为改同一段代码反复冲突。实际工程里你会看到一个博客页面被拆成App.vue作为根组件下面挂Header、Sidebar、ArticleList、Footer等子组件各个职责清晰。学会组件化思维是 Vue 入门过程中比语法更重要的分水岭。1.3 主流框架怎么选Vue 的生态位和不可替代性提到前端框架绕不开 Vue、React、Angular 三巨头。我给新人的建议很简单技术选型首先要看团队和项目场景但 Vue 在几个维度上有明确优势。第一是学习曲线Vue 的模板语法贴近传统 HTMLHTML/CSS 基础好的人上手非常快React 的 JSX 和函数式思维需要额外适应期。第二是渐进式设计Vue 不要求你一口气上全家桶小项目可以直接用 CDN 引入一个 Vue 文件写几个组件就行大项目再逐步引入路由、状态管理、构建工具。这种“按需取用”的特性让 Vue 对小项目和大型中后台项目都适用。第三是国内生态无论是博客、社区还是企业里的 admin 系统Vue 的中文资料和现成解决方案都是最丰富的。当然React 在大型生态和 Native 场景有它的强势Angular 在重企业级应用中也有地位但这些不代表 Vue 没有竞争力。如果你是个人开发者、小团队或者主要做中后台管理界面Vue 几乎是性价比最高的选择。这篇文章里我不打算做无意义的口水仗事实是 Vue 在国内的岗位需求和项目存量都非常大学会它绝对不吃亏。1.4 Vue 2 还是 Vue 3新项目别犹豫直到今天还有人在问“我要学 Vue 2 还是 Vue 3”我的回答永远是新项目、新入门直接 Vue 3。Vue 3 正式发布到现在已经好几年生态早就成熟了主流 UI 组件库、相关工具、第三方插件都已经兼容 Vue 3。而且 Vue 2 官方已经停止维护继续学它的意义仅限于维护存量老项目。Vue 3 相比 Vue 2 有几个核心提升。第一底层的响应式系统重构了数据代理从Object.defineProperty换成了Proxy性能更好、支持更多数据类型。第二引入了Composition API也就是setup函数那一套写法代码组织从“按选项类型切分”变成“按逻辑关注点聚合”复杂组件更容易维护。第三对 TypeScript 的支持更好这在团队项目里很关键。后面我所有的环境搭建和示例代码都基于 Vue 3这也是当前最合理的选择。2. 环境搭建第一步Node.js、npm 和编辑器选型理解了 Vue 是干什么的再动手就不会迷茫了。环境搭建说白了就三件事装 Node.js、配置 npm 包管理器、选一个趁手的编辑器。这三个东西的关系可以理解为Node.js 是前端工程的“运行引擎”npm 是依赖仓库的“快递员”VS Code 是工位。这三件事配好了后面几乎一马平川。2.1 为什么必须装 Node.js浏览器不认 .vue 文件很多新手第一次看到“Node.js”时会疑惑我不是在写浏览器端页面吗为什么要装一个后端运行时原因是现代前端开发不是直接写浏览器认识的 HTML/CSS/JS 文件而是要经历一套构建流程。Vue 的单文件组件.vue里混着模板、脚本、样式、甚至在模板里写了一些模板语法这些内容浏览器没法直接解析必须靠构建工具把它们编译成标准 HTML、CSS 和 JavaScript。而构建工具是跑在 Node.js 环境下的程序。换句话说Node.js 在前端开发里扮演的角色是“编译打包平台”而不是服务器。你用 Vue 脚手架创建的项目本质上是一个 Node.js 项目它包含package.json、node_modules、各种构建脚本最终由 Vite 或 Webpack 这类工具完成编译。所以装环境的第一步就是让 Node.js 在你电脑里正常工作这是一切工程化的基础。2.2 Node.js 版本选择与 nvmNode.js 版本选择很简单去官网下载 LTSLong Term Support长期支持版。Vue 3 搭配的 Vite 构建工具要求 Node.js 18 及以上现在推荐直接装 20 或更高版本的 LTS稳定性有保障。版本太低启动时可能报一个跟“digital envelope routines”有关的错误那时候只能干瞪眼。我个人强烈建议用nvmNode Version Manager来管理 Node.js而不是直接下载安装包。原因很实际你手头的项目可能不止一个老项目要求 Node 16新项目要求 Node 20用 nvm 可以随时切换版本不用反复卸载重装。Windows 上可以用nvm-windowsmacOS/Linux 上装 shell 版 nvm。安装完成后常用命令就这么几个nvm install 20 nvm use 20 node -v npm -v检查node -v和npm -v能正常输出版本号这一步就算过了。顺带说一句npm 是随 Node 一起安装的包管理器不用单独装它的作用就是帮你下载、安装、卸载项目用到的那些第三方依赖包。2.3 npm 换源环境搭建卡住的最大原因npm install慢到崩溃、报各种网络错误是环境搭建阶段劝退率最高的一个问题。新版 npm 默认的官方源在国外服务器国内直连经常不稳定于是就有了“换镜像源”的常规操作。这里说的“镜像源”是指把仓库地址切换到国内的同步镜像最常用的就是 npmmirror原淘宝 npm 镜像。打开终端执行两条命令npm config get registry npm config set registry https://registry.npmmirror.com/第一条命令查看当前源地址第二条把它切换到 npmmirror。然后再执行一次npm config get registry确认输出的是 npmmirror 地址就生效了。换完源之后再npm install下载速度会明显提升超时和失败的频率也大幅下降。注意这是正常的国内镜像操作不需要任何额外工具就能完成。还有一个常见方案是全局安装cnpm它也是基于 npmmirror 的。但我个人不太推荐新手用 cnpm因为 cnpm 和 npm 可能对package-lock.json的处理方式不一致同一个项目混用两个包管理器容易产生依赖版本错乱的问题。最省心的做法是只用 npm通过换源解决网络问题。2.4 VS Code 与 Volar 插件写 Vue 之前先装好这些编辑器这块前端开发基本绕不开 VS Code免费、插件生态丰富、对前端工程支持最好。安装 VS Code 之后还需要装几个插件不然写.vue文件的时候没有任何语法高亮和智能提示体验会非常痛苦。第一个必装的是Vue Language Features (Volar)这是 Vue 3 的官方语言支持插件提供语法高亮、模板补全、类型检查。第二个是Vue DevTools浏览器扩展后面调试组件状态会用到它是浏览器侧的调试工具VS Code 里装不装影响不大。建议另外把ESLint和Prettier也装上这样代码风格可以自动统一减少低级错误。VS Code 里有一个小技巧安装 Volar 之后如果遇到旧项目用了 Vetur 插件记得禁用 Vetur两个插件同时开有时会冲突互相干扰语法提示。Volar 现在是 Vue 生态的事实标准老插件 Vetur 只适合维护远古 Vue 2 项目新项目直接忽略它。2.5 环境验证清单在进入项目创建之前最后检查一遍环境是否就绪。我建议按这个清单逐项过终端执行node -v能看到 v18 以上版本号。终端执行npm -v能看到版本号。终端执行npm config get registry输出 npmmirror 或可用的内部源地址。VS Code 里 Volar 插件已安装且处于启用状态。浏览器里 Vue DevTools 扩展已添加到工具栏。这些全部通过环境的基础部分就算准备好了。接下来可以放心创建项目。3. 用官方脚手架创建项目create-vue 现在长这样很多人知道vue create但那是旧时代的命令。Vue 3 时代官方推荐的创建方式是create-vue它基于 Vite 构建工具启动速度快、配置直观是新项目的首选。这个章节我们把从零到看到欢迎页的整个过程走一遍每个交互选项都解释清楚。3.1 create-vue 和 vue-cli 的区别新老两代脚手架先说明现状vue/cli是 Vue 官方的老一代脚手架基于 Webpack 构建命令是vue create。它优点是比较成熟缺点是启动慢、配置复杂一个项目初始化要几十秒改一次配置要研究老半天 Webpack 的文档。Vite 出现之后官方全面转向了create-vue这个工具基于 Vite最大的特点就是一个字快。开发服务器启动几乎秒开代码改动热更新的反馈非常快配置文件vite.config.js也远比 Webpack 那一堆配置容易懂。新手不用纠结直接记住新项目用npm create vuelatest或者npm create vite。如果是 Vue 项目就选带vue的脚手架如果你只想先试一下脚手架的机制用 Vite 也可以它不绑定框架。现在的官方文档首页到处是 Vue 3 Vite 的组合这就是当前默认的技术底座。3.2 一步步创建项目命令与交互选项逐一说明打开终端进到一个你想存放项目的目录执行npm create vuelatest这里注意命令是npm create vuelatest不是npm create vue带上latest可以确保拉取当前最新版本。执行之后终端会开始与你交互。第一项是项目名称如果你直接用npm create vuelatest my-vue-app脚手架会跳过这一步直接创建my-vue-app目录。我建议用这种一步到位的方式减少无关操作。接下来是几个功能开关每个都必须确定是否使用 TypeScript、是否启用 Vue Router 路由、是否启用 Pinia 状态管理、是否启用 Vitest 单元测试、是否启用 ESLint 和 Prettier。第一次学习的话我推荐全部选择No包括 TypeScript 先不选。为什么新手阶段先关注 Vue 本身把 HTML 模板、JavaScript 逻辑、CSS 样式这几个基础玩熟再引入类型系统和测试工具会让学习曲线更平缓。等你用 Vue 写过一个完整项目再回来通过脚手架把这些选项打开那时你会对每一项有更深的体会。这些交互选项选完后脚手架会提示Scaffolding project in ./my-vue-app... Done. Now run:接下来就是进入目录、安装依赖、启动开发服务器。3.3 npm install 和 npm run dev装依赖、启动开发服务器依次执行cd my-vue-app npm install npm run devnpm install做的事情是读取项目根目录下的package.json文件把所有声明过的依赖包从 npm 仓库下载到本地node_modules目录里。依赖越多这一步花的时间越长。第一次安装时看到一大堆added x packages输出属于正常现象。装完之后项目目录里多了一个node_modules文件夹体积通常几十上百 MB这是项目运行的基础不要手动去改它。npm run dev启动的是 Vite 开发服务器。启动完成后终端会显示类似这样的输出VITE v5.x.x ready in 500 ms ➜ Local: http://localhost:5173/打开浏览器访问 http://localhost:5173/看到 Vue 官方欢迎页带一个 Vue 的 logo 和You did it!之类的提示文字环境就彻底跑通了。到这里“Vue.js 简介与环境搭建”最核心的环节已经完成。我第一次跑通的时候盯着那个欢迎页愣了好一会儿觉得好像什么都没干页面就出来了。3.4 项目目录结构每个文件夹是干什么的跑通只是开始还需要知道这些文件是谁、为什么存在。我按实际项目会用到的重要程度来说node_modules/依赖包存放目录已经被 npm 塞满了提交代码时用.gitignore忽略它。src/源码主目录你 99% 的开发工作都在这里。src/main.js应用入口文件负责创建应用实例、挂载根组件。src/App.vue根组件页面最外层的容器组件。src/components/存放自定义组件的地方脚手架里默认会放一个示范组件。public/静态资源目录不需要被构建过程处理的文件可以放这里。index.html整个项目的 HTML 模板入口。单页应用里Vue 最终会动态渲染到一个div idapp上。package.json项目配置与依赖清单记录了项目名、脚本命令、依赖版本等。vite.config.jsVite 构建工具的配置文件端口、代理、打包路径都在这改。README.md项目说明文件。一个好的学习方法是在编辑器里把这个结构依次点开看一遍不认识的先不深究但所有核心文件的位置要心中有数。4. 开发服务器原理与热更新机制改代码不刷新也能变第一次用 Vite 的时候你保存一个文件浏览器几乎瞬间就变了而且不是整页刷新页面原有状态还在。这背后就是“热更新”机制在起作用。很多人跑通环境后不去了解这层原理遇到“改了代码页面没反应”时完全没法排查。这一章把 dev server 的运作逻辑拆开讲。4.1 Vite 启动后发生了什么npm run dev执行的是vite命令。Vite 启动时并不会预先把你项目里的所有模块都打包编译好而是先启动一个本地开发服务器在浏览器请求某个模块时才对它做实时编译并返回。这种“按需编译”的策略就是 Vite 比 Webpack 快那么多的重要原因之一。你可以把 Vite 想成一个外卖平台你点哪个菜后厨才做哪个菜而不是提前把整本菜单全部做一遍放在柜台。当你打开 http://localhost:5173/ 时浏览器发起的请求会先经过 Vite 开发服务器由它把index.html、src/main.js、App.vue等入口模块以浏览器能识别的原生 ES Module 形式返回。.vue文件经过 Vite 的编译插件转换成一段包含template、script、style的标准 JavaScript 代码浏览器才能正常渲染。4.2 HMR 热更新的运行逻辑Hot Module Replacement模块热替换的实现路径是Vite 开发服务器启动时会通过 WebSocket 与浏览器建立一个长连接。当你修改源码并保存Vite 侦测到文件变化会定位到哪个模块发生了变更然后把新的模块代码通过 WebSocket 推送给浏览器。浏览器端收到更新后不再重新加载整个页面而是替换掉对应的模块并重新执行。这样带来的体验是改样式页面马上变色不闪屏、不丢状态改业务逻辑页面局部更新对一个需要跑好几步才能重现状态的表单页面来说尤其好用。如果哪次保存后页面整页刷新了多半是修改的文件不是一个可热更新的模块或者改了配置文件需要重启 dev server。这个机制不用背实现细节但要知道它的存在和大概路径排查问题时思路会清晰很多。4.3 端口占用与启动参数调整Vite 默认端口是 5173但换几台电脑、开几个项目后就会发现端口被占满了。终端会提示Port 5173 is already in use. Trying another one...这是 Vite 自动寻找下一个可用端口的提示一般不用管。但如果你想固定端口可以在vite.config.js里配置import { defineConfig } from vite import vue from vitejs/plugin-vue export default defineConfig({ plugins: [vue()], server: { port: 5174, strictPort: false, }, })port指定端口strictPort设为false表示端口被占用时自动切换下一个可用端口设为true则干脆启动失败方便你及时发现端口冲突。修改vite.config.js后需要重启 dev server 才会生效它和源码热更新是两套体系。4.4 开发模式和生产模式npm run dev / build / preview脚手架默认提供的三条命令对应前端开发的两种模式务必分清楚npm run dev是开发模式启动本地开发服务器提供热更新和详细报错但这不代表最终上线形态。真正部署到服务器时要运行npm run build它会把项目里所有源码压缩、打包成静态资源文件通常输出到dist/目录。打包产物是浏览器直接能访问的 HTML、CSS、JavaScript 文件。npm run preview的作用是在本地预览构建之后的生产产物。它会启动一个静态服务器指向dist/目录里的内容。为什么不能直接双击index.html看因为构建出的文件里资源路径可能是相对路径或绝对路径直接文件协议访问会出问题。这个问题我们在排错部分展开。5. 环境写好之后最容易踩的坑DevTools、代理和报错排查环境跑通之后真正开发时遇到的第一个问题往往不是“不会写代码”而是工具不配合。这一章集中处理三个高频问题Vue Devtools 插件为什么打不开、接口跨域怎么做代理、以及一堆让人看不懂的报错信息。这章基本是排坑实战建议收藏备用。5.1 Vue Devtools v5 插件打不开的完整排查链路“vue.js devtools (v5) 插件为什么打不开了”是个高频问题我自己也遇到过。新版 Vue Devtools 图标在浏览器工具栏里变成灰色、点开提示 “Vue.js not detected”这事可以从以下几个方向逐个排查。首先确认你打开的是不是 Vue 应用。直接双击本地 HTML 文件、或者访问一个没有经过 Vue 驱动的静态页面插件自然不会激活。如果用npm run dev打开了开发模式Vue 应用会以开发者模式运行Devtools 才有机会识别它。生产环境中Vue 默认关闭了 Devtools 支持所以你在线上页面看到插件灰色是正常的。其次检查是不是插件版本冲突。Chrome 应用商店里可能存在旧版 Vue.js devtools 和老 Beta 版如果同时装了多个停用掉多余的只保留最新版。我的做法是保留官方最新版旧版全部删除然后打开扩展管理页点“重新加载”让扩展彻底重启。之后在 dev server 页面按一次CtrlShiftR强制刷新插件图标通常就会亮起来。第三类问题来自权限。有些场景下你需要调试的是file://协议打开的本地文件这时要去扩展详情页里打开“允许访问文件网址”。这在小项目 Demo、离线测试时很常见。Vue 图标亮起后点击它可以看到组件树、Pinia 状态、路由信息等调试 Vue 应用的体验会上升一大截。5.2 开发环境跨域代理配置/api 转发到后端前后端分离开发时前端跑在 http://localhost:5173后端接口跑在 http://localhost:8080直接在前端代码里fetch后端接口会触发浏览器跨域限制请求发不出去。常见解决方案就是代理转发让开发服务器把某些请求转发到目标服务器绕开浏览器的跨域同源策略。在vite.config.js中增加server.proxy配置export default defineConfig({ server: { proxy: { /api: { target: http://localhost:8080, changeOrigin: true, rewrite: (path) path.replace(/^\/api/, ), }, }, }, })这段配置的含义是所有以/api开头的请求都会被 Vite 开发服务器转发到http://localhost:8080changeOrigin用来修改请求头里的 Host避免后端校验失败rewrite用来把/api前缀去掉因为很多后端接口本身不带这个前缀。这样前端代码里请求/api/user/list实际到后端就是http://localhost:8080/user/list。理解代理配置不是环境搭建阶段必须掌握的但它属于“环境适配”的范畴很容易在前后端联调时卡住进度提前配好能省很多沟通成本。5.3 脚手架报错速查表整理几个高频报错和排查方向都是从实际开发里捞出来的报错或现象可能原因解决方向npm install出现 ERESOLVE 错误依赖树冲突删除node_modules与package-lock.json后重新安装Cannot find module xxx依赖未装全执行npm installPort 5173 is already in use端口被占用按上面的端口配置切换或杀掉占用进程error:0308010C:digital envelope routines::unsupportedNode 版本过高与旧构建配置不兼容尽量升级构建工具或切到 LTS 版本构建出的index.html双击打开是空白资源路径是绝对路径在vite.config.js中设置base: ./页面 ES Module 报 CORS 错误用file://协议直接打开用 dev server 或 preview 访问最后一行“构建产物直接打开空白”很值得展开。很多人npm run build之后把dist/目录里的文件下载到本地双击index.html结果一片空白。这通常是因为 Vite 默认的base是/构建出来的资源路径是/assets/xxx.js放在根目录部署没问题但如果放在子目录或者本地文件打开路径自然找不到。解决办法是在vite.config.js里设置export default defineConfig({ base: ./, })改完之后重新npm run build产物里的资源路径就变成相对路径了。这个坑几乎是每个新手都会踩一遍我当年也花了半下午才搞清楚。5.4 全局缓存和依赖冲突的清理思路环境出问题很多老手的第一反应不是去翻源码而是先“清缓存、重装依赖”。这个思路很实用。当你遇到莫名其妙的报错尤其是npm install反复失败、模块版本对不上、或者同一个包存在多个版本时可以按这个顺序操作。先在项目根目录删除node_modules和package-lock.json或yarn.lock然后重新执行npm install。之所以建议手动删而不是只跑npm install是因为旧 lock 文件里可能锁住了有问题的版本或 node_modules 里有残留的旧模块手动删掉能保证绝对干净。连带还可以清理 npm 全局缓存npm cache clean --force不过这条命令要慎用它会把本地缓存清空下次安装要重新下载所有包。只在确定需要的时候执行。最核心的经验是前端依赖冲突绝大多数靠“删除重装”能够解决永远不要第一时间去npm install -f强制安装那会把依赖树弄得更乱后面更难排查。6. 环境就绪学会读第一段 Vue 代码环境搭好最终是要落到写代码上的。这一章用最小成本带你看懂脚手架生成的第一段 Vue 代码理解.vue文件到底长什么样以及数据响应式到底是怎么一回事。跑通环境之后的第一课不是直接抄代码而是先建立对单文件组件的认知。6.1 单文件组件的三段式结构打开src/App.vue你会看到三段结构非常清晰的代码。template里面写组件的 HTML 结构script setup里面写 JavaScript 逻辑style scoped里面写样式。这就是 Vue 单文件组件的标准形态一个文件解决组件所有内容。script setup是 Vue 3 组合式 API 的语法糖最大的优点是代码更简洁在script setup里声明的顶层变量、函数可以直接在模板里使用不用像老写法那样把一堆东西return出去。我第一次从 Options API 切换到这个写法时第一感觉是终于不用把同一个数据在模板和脚本之间来回倒腾了代码量至少减了三分之一。scoped属性作用在style上时表示这段样式只对当前组件生效不会污染全局。这是组件化开发的重要保障两个组件里的.button类名就算同名也不会互相影响。看懂了这三段你已经知道 Vue 项目里 95% 的源文件是什么结构了。6.2 ref 和 reactive响应式数据怎么理解在script setup里用ref声明数据import { ref } from vue const count ref(0)count是一个响应式数据模板里写{{ count }}就能显示它的值。当你需要修改它时要注意直接count.value 1才能触发视图更新因为ref包装了一个内部值需要通过.value访问。这是新手最容易搞混的语法点。reactive的用法类似但只能传对象或数组import { reactive } from vue const user reactive({ name: Zhang San, age: 25 })两种方式各有适用场景。简单说普通数字、字符串、布尔值用ref一组相关的对象数据用reactive。底层实现里Vue 3 通过Proxy代理对象在读取和修改数据时收集依赖、触发更新这就是“响应式”的本质。你不需要立刻弄懂整套源码但至少要明白运行环境正常时修改数据视图就会自动更新如果这个链路断了第一个排查方向不是模板而是你的响应式数据是不是被丢出了响应式系统比如用普通变量而不是 ref/reactive 声明了状态。6.3 最常用的模板指令和事件模板语法和指令是 Vue 写页面时最常用的几个工具它们理解成本很低但日常开发绝对离不开。v-bind或:给元素动态绑定属性。比如img :srcimgUrlimgUrl变图片地址跟着变。v-on或绑定事件。比如button clickaddCount加一/button。v-if和v-else-if、v-else根据条件渲染元素。v-for循环渲染列表。遍历数组时通常写v-foritem in list :keyitem.id。v-model双向绑定表单元素。比如输入框input v-modelusername用户输入的内容会同步更新到username变量反过来改了变量输入框内容也会跟着变。不建议一次记太多指令先掌握click、:src、v-for、v-if这几个写几个小页面后自然就熟练了。6.4 接下来一个月怎么学环境跑通之后很多人的困惑是“我该干嘛”。我给一条比较省力的路线。第一周把 Vue 官方文档里的“基础指引”从头到尾过一遍配合脚手架模板改代码比如在App.vue里用v-for渲染一组数据、用click绑定一个按钮事件。第二周学习组件化重点是组件的注册、props传参、emit触发事件尝试把一个列表页拆成多个子组件。第三周引入 Vue Router学页面跳转然后了解一下 Pinia 状态管理。第四周自己复刻一个 TodoMVC 或者简单的个人博客把数据增删改查、列表渲染、组件通信全部揉在一起用一遍。不推荐一上来就去啃组件库、状态管理源码、工程化配置文档那些东西是遇到实际问题时再去查更高效。当你能独立完成一个小项目再回来看环境搭建时踩过的坑会发现那些问题都是宝贵的排查经验而不是纯粹的时间浪费。反正我自己是这么一步步走过来的回头想想环境搭建阶段遇到的问题反而让我后来少走很多弯路。
返回列表