如何搞 Vue3,别整那些虚头巴脑的 别老想着用 vue-cli3 那种老古董的脚手架,那是给 2015 年供饭的,目前老webkit 浏览器都劝退大家了。还不如花大价钱下载一堆烦人的插件,不如直接点“创建”就能把基础包给扔了。打开终端,扔个命令 `vue create my-app`,回车傻瓜,给你个 `My Vue App` 的默认名字和网址。 这名字的脑补有点意思,要是名字叫 `我的应用`,浏览器打开就是 `http://localhost:5173/我的应用`,这种命名方式别看莫名其妙,但能让人一眼看出是个啥类型的网站,想想都带感。

要是不想这个名字,你有两种操作。

第一种是用命令覆盖,比如 `vue create my-app` 然后回复 `y`,系统会弹窗让你改名字,填好后点确定。

第二种是改配置,在 `vue.config.js` 文件里,把 `root` 那段改成你喜爱的名字,记得把单引号引起来,不然编译程序会报错。 配置完这玩意儿,项目就搭好了。接下来就是关键的一步,如何把这些东西加起来。别愣着,打开终端直接敲 `npm install vue-router@4`,回车。

这一键下去,看似好办,但 npm 有时候会卡一下,你得耐着性子等它吐出个版本号。

这时候你会看到一堆提示,比如 `正在安装 vue-router@4.9.4`,跟着它跑完就行,别去管那些复杂的依赖表。 拿到新的 npm 包,别急着跑,先看看它到底是干嘛的。打开浏览器,输入 `npm run serve`,不,应当是 `npm run dev`,回车。

这时候浏览器会打开一个页面,默认地址是 `http://localhost:5173/`,中间有个空荡荡的 `v2` 图标。

这图标代表啥呢?代表这个项目还在用 Vue 2 的逻辑。别急眼,点进去,你会发现页面正常,但所有的路由都没有。 你看首页,点了导航链接也没反应,点击到了其他页面也跳回了首页。

这说明路由配置没写。

这时候就要去 `src/app/router/index.js` 文件里动手了。别上来就写一堆复杂的代码,先学会最好办的。在文件开头加 `import { createRouter, createWebHistory } from 'vue-router'`,然后定义一个路由对象。

比方说,给 `Home` 这个页面写个路由,路径设为 `/`,嵌套结构设为 `[name: 'home']`,然后给这个路由加个 `meta` 标签。 别小看这 `[name: 'home']`,它的功能是把当前的页面名字,跟刚刚创建的 `Home` 对象一一对应。

要是路由表里只有 `Home`,你访问 `/` 就默认是这个页面的名字。

要是想让别的页面也能用这个名字,就把那个对象的 `name` 属性改成空字符串 `''`,然后放在这个路由对象的 `children` 数组里。

这样访问 `/` 的时候,要是没匹配到当前路由,就会默认匹配到 `Name` 为空的那个页面。 除了基础,还得寻思是不是要用历史模式。打开浏览器开发者工具,切换到 Network 标签页,选中导航栏的 `Route` 请求,看它的状态码。

要是显示 `301` Redirect,说明还在用 Vue2 的 URL,得点进去看代码。把那个 `mode` 属性改成 `'history'`,就实现了确实历史导航,地址栏会变长,并且刷新页面不会丢失。 配置完路由,下一步就是处理动态的内容了。

比如你想做一个带搜索功能的首页,别傻乎乎地硬编码 `

`。先在 `src/views/Home.vue` 里写一个 ``,写了就扔进 `` 标签的 href 属性。再写一个 `
`,用 `class` 把它包裹。在 `src/router/index.js` 里,给这个 `
` 加上 `name: 'search-page'` 的路由,路径设为 `/search`。 目前服务端应当有点动静了。刷新页面,输入个关键词,比如 `vue`,然后回车。你会发现页面变了,动态的 `` 和 `
` 都加载出来了。

这时候别停,去 `src/views/Home.vue` 里找 `routerLink` 的 `href` 属性,把刚刚的路由名 `search-page` 改成对应的路径 `/search`。 最终一步就是看效果。打开浏览器,刷新,输入 `vue`,你会发现搜索结局出来了。

这时候你能够去 `src/router/index.js` 里看看 `search-page` 对应的 `meta` 数据,看看是不是确实设置了 `style` 要么 `icon` 之类的信息。

要是有的话,浏览器底部就会显示对应的图标。 有时候你会发现路由没生效,点进去直接跳首页。

这时候别慌,检查两个地方。一是确认 `src/views/Home.vue` 的 `routerLink` 里的 `href` 是不是确实写了你对应的路由名。二是看 `src/router/index.js` 里是不是确实加了这个路由,并且路径写对了。最怕的是写成了 `/index` 要么漏掉了引号,这时候得去 `vue.config.js` 看看 `root` 配置,要么直接在编译报错里找提示。 配置完这些东西,项目就根本成型了。你能够试着加个按钮,把刚刚的动态数据发给后端,要么直接自己写个逻辑,做个列表。

要是后端接口不对,别急,去 `src/router/index.js` 里看看是不是把路由名写错了。 实际上,Vue3 的核心思想就是“用现代的方式做旧功能”。

不要为了追求长得像 Vue2 而强行加大量 `v-if` 和 `v-show`,那些在 Vue3 里效率低还好办出难题。想做得更炫酷,别去研究那些复杂的指令组合,先搞定路由和动态内容。代码写得干净利落一点,后期修改费事,但维护起来快乐。 最终再提一句,别指望 `vue-cli3` 能给你整个造环境。先跑通 `npm install` 和 `npm run serve` 这两步,其他的配置彻底靠你手动写。就像盖房子,框架搭好了,墙还没贴好,就先别急着买砖。等代码搞清楚了,再寻思要不要上 CI/CD 流水线,要么用 Vite 做开发服务器,那些工具只是锦上添花,不是务必的。