Code前端首页关于Code前端联系我们

新手如何从零快速搭建一个可用的Vue3项目,踩坑少还能兼顾后续开发?

terry 1小时前 阅读数 34 #Vue

新手刚接触Vue3项目搭建时,最容易纠结的就是工具怎么选、步骤会不会太复杂、后期改配置会不会头疼,今天就用问答形式,把从准备环境到第一个可跳转页面跑通的全流程讲明白,还附带新手最容易踩的4个小坑和实用配置建议,跟着走一遍,哪怕是刚学完Vue基础语法的人,也能半小时内搭出一个规范的、留好开发空间的项目框架。

第一步该做什么?是装Node.js还是直接选创建工具?

肯定是先搞定Node.js环境,不管是用Vite还是Vue CLI,这都是基础,而且这里有个新手必记的门槛——现在最新的稳定版Vue3生态工具(比如Vite5),要求Node.js版本至少是18.0.0,版本号是双数的LTS长期支持版优先。

怎么确认自己的Node版本够不够?打开电脑的命令行(Windows用PowerShell/CMD,Mac用Terminal),输入node -v就行,要是显示的版本低于18,或者干脆没反应,就直接去官方网站下载最新的LTS包,一路点击“下一步”安装就行,安装完成后记得重启命令行再检查一遍,不然环境变量没生效,后续工具装了也用不了。

环境变量生效后,建议顺手换个国内的npm/yarn/pnpm镜像源,不然下载依赖包会慢到怀疑人生,甚至会因为连接超时失败,具体怎么换?以最常用的淘宝镜像源为例,npm的话直接输入npm config set registry https://registry.npmmirror.com,yarn和pnpm的命令分别是yarn config set registry和pnpm config set registry,后面跟着同样的镜像源地址就行,换完可以用npm config get registry这类命令验证一下。

搭建Vue3项目选Vite还是旧版CLI?CLI会彻底淘汰吗?

如果是2024年之后开始的新项目,无脑选Vite就行,除非你必须兼容一些特别老的第三方插件或者要维护基于旧版Webpack的旧项目,现在Vue官方推荐的创建工具就是create-vue,它底层就是基于Vite的,而且能直接帮你把TypeScript、ESLint、Prettier、Vue Router、Pinia这些常用开发工具一键搭好,不用自己后期挨个装挨个改配置。

Vue CLI确实不会彻底淘汰,但更新会越来越慢,性能和配置简洁度上也完全比不上Vite,举个最直观的例子:旧版CLI用Webpack启动一个全新的Vue3项目,可能要等10秒甚至更久,而Vite只需要1-2秒就能打开开发服务器;热更新的速度也差很多,CLI改一行代码可能要等1-2秒才能看到效果,Vite基本是秒更。

用create-vue具体怎么操作?每个选项该怎么选?

选好工具就可以动手创建了,步骤其实很简单,就跟着命令行的提示走就行,不过每个选项的作用新手一定要搞清楚,不然选了一堆没用的或者漏了关键的,后期还要折腾。

先打开命令行,cd到你想存放项目的文件夹,比如Windows下想放到D盘的VueProjects文件夹,就输入D:回车,再输入cd VueProjects回车;Mac下想放到桌面的VueProjects文件夹,就输入cd ~/Desktop/VueProjects回车,要是没有这个文件夹,可以先用mkdir VueProjects创建一个。

然后输入npm create vue@latest(或者yarn create vue@latest、pnpm create vue@latest,看你习惯用哪个包管理器),回车后会出现几个问题,新手可以按照我给的这个推荐配置选:

  1. Project name:项目名称,默认是vue-project,可以改成自己想要的,比如my-first-vue3-app,注意只能用小写字母、数字、下划线和短横线,不能有中文和空格。
  2. Add TypeScript?Yes/No:强烈建议选Yes,哪怕你现在还不会TypeScript,先把环境搭好,慢慢学就行,TypeScript能帮你提前发现代码里的很多小错误,还能让IDE的提示更准确,后期维护大项目的时候特别有用。
  3. Add JSX Support?Yes/No:如果不打算用React那套JSX语法写Vue组件,或者只用过Vue的单文件组件(SFC)写法,选No就行,要是想试试或者以后可能用到,可以选Yes,不过新手暂时不用。
  4. Add Vue Router for Single Page Application development?Yes/No:只要不是做那种只有一个页面的纯展示项目,一定要选Yes,单页应用(SPA)的路由跳转全靠它。
  5. Add Pinia for state management?Yes/No:新手先选Yes吧,哪怕现在项目小,暂时不用全局状态管理,先把Pinia的环境搭好,养成好习惯,等以后项目变大要管理用户登录状态、购物车数据的时候,就不用再临时装了,Pinia是Vue3官方推荐的状态管理工具,比旧版的Vuex简单很多,上手也快。
  6. Add Vitest for Unit Testing?Yes/No:新手暂时选No,单元测试可以等项目写得比较熟练了再学。
  7. Add an End-to-End Testing Solution?Yes/No:新手也选No,端到端测试比单元测试还复杂,后面再说。
  8. Add ESLint for code quality?Yes/No:建议选Yes,ESLint能帮你规范代码格式,避免很多低级的语法错误和逻辑问题。
  9. Add Prettier for code formatting?Yes/No:建议选Yes,Prettier和ESLint配合使用,能自动帮你格式化代码,比如缩进用2个空格还是4个空格、单引号双引号的使用、逗号要不要加之类的,不用自己手动调,团队协作的时候也能统一代码风格,选了之后命令行还会问你是用“ESLint with Prettier recommended config”还是分开,选前者就行,更简单。

所有选项选完之后,就按照命令行的提示操作:先cd到刚才创建的项目文件夹,比如cd my-first-vue3-app,然后输入npm install(或者yarn install、pnpm install)下载依赖包,下载完成后输入npm run dev(或者yarn dev、pnpm dev)启动开发服务器,等1-2秒,命令行会显示一个Local地址和一个Network地址,把Local地址复制到浏览器里,要是能看到Vue3的官方欢迎页面,就说明项目搭建成功了!

搭建成功后,项目文件夹里的那些东西都是干什么用的?哪些是新手可以暂时不用管的?

看到一堆文件夹和文件,新手肯定会有点懵,我来给你梳理一下核心的几个:

  1. node_modules:存放刚才下载的所有依赖包,这个文件夹不用管,也不要手动去改里面的内容,以后如果依赖包有问题,直接删除这个文件夹,再重新运行npm install就行。
  2. public:存放静态资源,比如网站的favicon(浏览器标签页的小图标)、robots.txt(告诉搜索引擎爬虫哪些页面可以爬)之类的,这里的资源会直接被复制到项目的根目录,不会经过Vite的处理,所以适合放一些不需要压缩、修改的大文件或者公共文件。
  3. src:存放我们自己写的代码,这是核心文件夹,重点看里面的几个文件和子文件夹:
    • main.ts:项目的入口文件,把Vue实例挂载到index.html的#app元素上,还会在这里引入Vue Router、Pinia这些全局工具的配置。
    • App.vue:项目的根组件,是整个应用的“外壳”,所有的其他组件都嵌套在它里面,刚才看到的Vue3欢迎页面就是写在这里的。
    • index.css:全局样式文件,写在这里的样式会应用到整个项目。
    • router:存放路由配置,里面的index.ts会定义每个页面的路径和对应的组件。
    • stores:存放Pinia的状态管理模块,比如以后要写用户模块,就可以在这里建一个user.ts文件。
    • views:存放页面级组件,比如首页、登录页、列表页之类的。
    • components:存放可复用的小组件,比如按钮、导航栏、卡片之类的,这些组件可以在多个页面里重复使用,避免代码重复。
  4. index.html:项目的入口HTML文件,不用改太多,主要就是有一个id为app的div元素,Vue实例会挂载到这里,还有一些meta标签和script标签,Vite会自动处理。
  5. package.json:存放项目的基本信息、依赖包列表、命令脚本,比如刚才的npm run dev就是在这里定义的,要是以后要加新的命令或者更新依赖包,就会用到这个文件。
  6. package-lock.json(或者yarn.lock、pnpm-lock.yaml):自动生成的,用来锁定依赖包的版本,确保团队里每个人下载的依赖包都是一样的,不用管,也不要手动改。
  7. tsconfig.json:TypeScript的配置文件,新手暂时不用管,要是以后对TypeScript有特殊需求,可以再查资料修改。
  8. vite.config.ts:Vite的配置文件,新手暂时不用管,要是以后要改端口、加代理、配置路径别名之类的,就会用到这个文件。
  9. .eslintrc.cjs和.prettierrc.json:ESLint和Prettier的配置文件,新手暂时不用管,要是以后对代码格式有特殊需求,可以再改。
  10. .gitignore:告诉Git哪些文件和文件夹不需要上传到远程仓库,比如node_modules、dist(项目打包后的文件夹)之类的,不用管,默认的配置已经够用了。

新手搭建完Vue3项目后,最容易踩的4个小坑是什么?怎么解决?

我自己刚学的时候踩过好几个,帮你整理了最常见的4个,提前知道就能少走很多弯路:

  1. Node版本不够,下载依赖或者启动开发服务器时报错:刚才已经提过了,一定要确保Node版本是18.0.0以上的LTS长期支持版,要是低于这个版本,就去官方网站下载最新的LTS包重新安装,安装完成后重启命令行再检查。
  2. 下载依赖包时连接超时或者速度慢:刚才也提过了,换个国内的镜像源就行,要是换了淘宝镜像源还是慢,也可以试试腾讯云或者华为云的镜像源,地址分别是https://mirrors.cloud.tencent.com/npm/和https://mirrors.huaweicloud.com/repository/npm/。
  3. ESLint报错太烦,代码写得好好的就显示红色波浪线:新手刚用ESLint和Prettier的时候肯定会遇到这种情况,其实大部分都是因为代码格式不符合规范,比如缩进不对、单引号双引号混用、逗号后面没加空格之类的,不用慌,要是用的是VS Code,可以安装ESLint和Prettier - Code formatter这两个插件,然后在设置里把“保存时自动格式化”和“保存时自动修复ESLint错误”打开,以后保存代码的时候,插件就会自动帮你修复大部分的格式错误,如果有些规则确实不想遵守,也可以在.eslintrc.cjs文件里把对应的规则关掉,比如不想检查分号,可以在rules里加一句"semi": "off"。
  4. 修改了App.vue或者其他组件的代码,浏览器里看不到效果:这个情况分两种,一种是没有保存代码,VS Code有时候默认不会自动保存,记得修改完代码后按Ctrl+S(Mac按Command+S)保存;另一种是浏览器缓存了旧的页面,可以按Ctrl+Shift+R(Mac按Command+Shift+R)强制刷新浏览器,清除缓存。

新手可以在搭建好的项目基础上,先做什么小改动练手?

可以先试着改一下欢迎页面,比如把Vue3的官方logo换成自己的头像,把欢迎文字改成自己的名字,然后加一个简单的路由跳转功能。

比如加一个“关于我”的页面:

  1. 在src/views文件夹里新建一个AboutView.vue文件,里面写一些简单的内容,
    <template>
    <div class="about">
     <h1>关于我</h1>
     <p>这是我搭建的第一个Vue3项目!</p>
     <router-link to="/">返回首页</router-link>
    </div>
    </template>
``` 2. 打开src/router/index.ts文件,在routes数组里加一个新的路由对象, ```typescript const routes = [ // 原来的首页路由 { path: '/', name: 'home', component: () => import('../views/HomeView.vue') }, // 新增的关于我路由 { path: '/about', name: 'about', component: () => import('../views/AboutView.vue') } ] ``` 3. 打开src/App.vue文件,把原来的欢迎页面内容删掉,换成一个简单的导航栏和路由出口, ```vue ``` 改完之后保存所有文件,回到浏览器里,就能看到导航栏了,点击“关于我”就能跳转到刚才新建的页面,点击“返回首页”或者“首页”就能跳回去,是不是很简单?

搭建一个可用的Vue3项目其实没那么难,只要按照上面的步骤走,提前避开那些小坑,半小时内就能搞定,选工具的时候无脑选Vite+create-vue,能用TypeScript就用TypeScript,能加Vue Router和Pinia就加,这样搭建出来的项目既规范,又留好了足够的开发空间,搭好之后可以先做一些小改动练手,熟悉一下项目的结构和路由跳转的使用,等熟练了再慢慢学Pinia、TypeScript、Vite配置这些更深的内容。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门