vue3+Vite/Vue CLI脚手架创建新项目+路由配置详细步骤

前言:创建空白新项目,知道下面这些几个步骤就够了,本文将详细介绍vue3新项目搭建的三种方式以及页面路由的相关配置,让你快速的实现新项目的开发

一、环境准备

  1. 先保证安装 Node.js ‌ -->网址 Node.js --- Download Node.js®
命令提示符 复制代码
下载安装 Node.js 18(或以上版本)+ LTS 版本(根据node.js官网支持的版本自行选择)
//验证node安装:
//打开命令提示符  输入命令行验证安装
node -v  # 需显示 v18.x 或更高
npm -v    # 需显示 9.x 或更高
//国内用户还是要先配置镜像加速-->提升后面开发时依赖的下载速度:
npm config set registry https://registry.npmmirror.com

二、提供三个创建方案

方案一:Vite 交互式创建(推荐)

  1. 初始化创建项目
命令提示符 复制代码
 npm create vue@latest
  1. 自定义配置选项

    根据命令行提示选择:

命令提示符 复制代码
//根据项目需求自定义输入和选择
✔ 项目名称: my-vue3-demo  
✔ 是否使用 TypeScript? Yes  
✔ 是否添加 JSX 支持? No  
✔ 是否引入 Vue Router? Yes  
✔ 是否引入 Pinia 状态管理? Yes  
✔ 是否引入单元测试? No  
✔ 是否引入 E2E 测试? No
  1. 安装依赖并启动
命令提示符 复制代码
cd my-vue3-demo  //快速进入创建项目
npm install   //安装项目依赖时运行此命令
npm run dev   //运行项目

特点‌:默认集成组合式 API、TypeScript 支持,冷启动速度极快


方案二:Vue CLI 传统方案

  1. 全局安装 CLI
命令提示符 复制代码
npm install -g @vue/cli
  1. 创建项目
命令提示符 复制代码
vue create my-vue3-app
  1. 手动选择配置

    • 选择 Manually select features

    • 按需勾选需要功能:

    命令提示符 复制代码
    ◉ Choose Vue version  
    ◉ Babel  
    ◉ Router  
    ◉ Vuex  
    ◉ Linter
    • 选择 Vue 3.x 版本
  2. 启动开发服务器

    终端 复制代码
    cd my-vue3-app
    npm run serve

    适用场景‌:需要 Webpack 深度定制或旧项目迁移


方案三:Vite 非交互式创建(快速模板)

  1. 直接生成基础模板

    命令提示符 复制代码
    npm create vite@latest my-app --template vue
  2. 安装依赖并启动

    终端 复制代码
    cd my-app
    npm install
    npm run dev

    特点‌:生成最小化模板,适合快速验证功能


三、项目结构对比

Vite 生成结构

perl 复制代码
my-vue3-demo/
├── src/
│   ├── assets/          # 静态资源
│   ├── components/      # 组件目录
│   ├── router/          # 路由配置
│   ├── App.vue          # 根组件
│   └── main.ts          # 入口文件(TypeScript)
├── package.json         # 依赖管理
└── vite.config.ts       # Vite 专属配置

Vue CLI 生成结构

csharp 复制代码
my-vue3-app/
├── public/              # 静态资源 -->打包时不经过 Webpack 处理
├── src/
│   ├── assets/          # 资源-->打包时由 Webpack 处理--解析为模块依赖
│   ├── components/      # 公共组件
│   ├── router/          # 路由配置
│   ├── views/           # 页面组件
│   ├── App.vue          # 根组件
│   └── main.js          # 入口文件
├── babel.config.js      # Babel 配置
└── vue.config.js        # Webpack 配置扩展

四、自定义路由时的相关配置(通常会根据创建时的选择自动生成)

-- 首先

  1. 安装路由库

    终端 复制代码
    npm install vue-router@4

    注意 ‌:@4 是 Vue 3 专用版本

  2. 创建路由配置文件

js 复制代码
    //在 `src` 目录下新建 `router` 文件夹
    //创建 `index.js`(或 `index.ts`)文件:
    // src/router/index.js
    import { createRouter, createWebHistory } from 'vue-router'
    import HomeView from '@/views/HomeView.vue'  // 页面组件需提前创建

    const routes = [
      { 
        path: '/', 
        name: 'home',
        component: HomeView 
      },
      {
        path: '/about',
        name: 'about',
        component: () => import('@/views/AboutView.vue')  // 懒加载
      }
    ]

    const router = createRouter({
      history: createWebHistory(import.meta.env.BASE_URL),
      routes
    })

    export default router

关键点‌:

  • createWebHistory 用于 HTML5 模式路由(需服务器支持)
  • 路由懒加载语法 () => import() 提升加载性能

-- 挂载路由到应用

  1. 在入口文件注册路由
js 复制代码
// src/main.js
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'  // 自动识别 index.js

const app = createApp(App)
app.use(router)
app.mount('#app')
  1. 在 App.vue 中添加路由视图
vue 复制代码
<!-- src/App.vue -->
<template>
  <nav>
    <router-link to="/">Home</router-link> |
    <router-link to="/about">About</router-link>
  </nav>
  <router-view/>  <!-- 路由出口 -->
</template>

说明 ‌:<router-view> 是动态路由组件加载容器


-- 路由进阶配置

场景 1:动态路由

js 复制代码
// 路由配置中添加动态参数
{
  path: '/user/:id',
  name: 'user',
  component: () => import('@/views/UserView.vue')
}

// 组件内获取参数
import { useRoute } from 'vue-router'
const route = useRoute()
console.log(route.params.id)  // 输出动态 id

场景 2:嵌套路由

js 复制代码
const routes = [
      {
        path: '/dashboard',
        component: () => import('@/layouts/DashboardLayout.vue'),
        children: [
          { path: '', component: () => import('@/views/DashboardHome.vue') },
          { path: 'settings', component: () => import('@/views/DashboardSettings.vue') }
        ]
      }
    ]

场景 3:导航守卫

js 复制代码
// 全局前置守卫 -->例如登录拦截功能-->需在路由文件里配置单个路由的mata
router.beforeEach((to, from) => {
  if (to.meta.requiresAuth && !isAuthenticated) {
    return { name: 'login' }
  }
})

五、注意事项

  1. 版本兼容性

    • Vue 3 需搭配 [email protected][email protected]
    • CLI 创建的旧项目升级时可能需手动调整配置
    • 若使用 createWebHistory 模式,需服务器配置支持(如 Nginx 需添加 try_files 规则)
  2. 可能遇到的问题

    • 依赖安装失败 ‌:检查镜像配置或使用 npm cache clean --force
    • TypeScript 报错 ‌:确认 .ts 文件声明规范或禁用严格模式
  3. 路径别名冲突

    • 推荐使用 @ 代替 ../ 相对路径(需在 vite.config.jsvue.config.js 中配置)

通过上面几个步骤就能快速完成 Vue3 的新项目搭建,配置路由时建议优先采用模块化路由文件管理可提高项目后期的可维护性。

相关推荐
宁静_致远5 分钟前
React 性能优化:深入理解 useMemo 、useCallback 和 memo
前端·react.js·面试
旺仔牛仔QQ糖6 分钟前
项目中TypeScript 编译器的工作流程
前端·typescript
coding丨6 分钟前
自制微信小程序popover菜单,气泡悬浮弹窗
前端·javascript·vue.js
anyup14 分钟前
10000+ 个点位轻松展示,使用 Leaflet 实现地图海量标记点聚类
前端·数据可视化·cursor
林太白16 分钟前
Rust认识安装
前端·后端·rust
掘金酱17 分钟前
🔥 稀土掘金 x Trae 夏日寻宝之旅火热进行ing:做任务赢大疆pocket3、Apple watch等丰富大礼
前端·后端·trae
1024小神17 分钟前
tauri项目添加多文件下载功能,并支持下载进度回调显示在前端页面上
前端·javascript
Ace_317508877618 分钟前
义乌购拍立淘API接入指南
前端
不想说话的麋鹿24 分钟前
《NestJS 实战:RBAC 系统管理模块开发 (四)》:用户绑定
前端·后端·全栈
我是谁谁37 分钟前
JavaScript 中的 Map、WeakMap、Set 详解
前端