Vue3启动流程和文件结构

关于vue3启动的一些错误总结 解决办法:–legacy-peer-deps 作用:在NPM v7中,现在默认安装peerDependencies。在很多情况下,这会导致版本冲突,从而中断安装过程。--legacy-peer-deps标志是在v7中引入的,目的是绕过peerDependency自动安装;它告诉 NPM 忽略项目中引入的各个modules之间的相同modules但不同版本的问题并继续安装,保证各个引入的依赖之间对自身所使用的不同版本modules共存。 阅读详情

main.ts

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

const app = createApp(App)
app.use(router)
app.mount('#app')

这是Vue 3 项目的入口文件(main.js),是整个项目启动的起点。

先给你一句总概括:
这段代码的作用:创建 Vue 应用 → 安装路由 → 挂载到页面上,让项目跑起来。


逐行详细解释

// 1. 从 Vue 中导入创建应用的方法
import { createApp } from 'vue'
  • import = 导入
  • { createApp } = Vue3 提供的创建应用实例的函数
  • from 'vue' = 从 Vue 这个库里面拿
  • 意思:我要开始创建一个 Vue 项目了!

// 2. 导入根组件 App.vue
import App from './App.vue'
  • App.vue 是整个项目的根组件
  • 所有页面最终都会被它包裹
  • 意思:把项目的“根外壳”拿过来

// 3. 导入路由(负责页面跳转 / 切换页面)
import router from './router'
  • router = 路由
  • 作用:控制页面切换(比如从首页 → 详情页)
  • 意思:把页面跳转功能引进来

// 4. 创建一个 Vue 应用实例
const app = createApp(App)
  • createApp(App) = 用根组件创建一个 Vue 应用
  • app = 你的整个 Vue 项目本身
  • 意思:项目正式创建完成!

// 5. 给项目安装路由功能
app.use(router)
  • app.use() = Vue 安装插件的固定写法
  • 这里安装的是 router(路由)
  • 意思:让项目支持页面跳转

// 6. 把 Vue 项目挂载到页面上
app.mount('#app')
  • mount = 挂载(把项目渲染到网页上)
  • #app = 对应 public/index.html 里的 <div id="app"></div>
  • 意思:让 Vue 项目显示在网页上,正式运行!

超简版总结(记这个就够)

  1. 导入创建工具
  2. 导入根组件
  3. 导入路由
  4. 创建 Vue 项目
  5. 安装路由
  6. 挂载到网页 → 运行成功

用生活比喻帮你记住

  • createApp = 买房子
  • App.vue = 房子的主体结构
  • router = 房子里的门(可以去不同房间)
  • app.use(router) = 把门装上
  • app.mount('#app') = 把房子放到地皮上,住人

总结

  • 这是Vue3 项目的启动入口
  • 核心逻辑:创建 → 安装插件 → 挂载运行
  • 所有项目的 main.js 基本都长这样,固定写法

画一张极简、超清晰、一看就懂的 Vue3 入口流程流程图:

┌─────────────────────────────────────────────────────────┐
│                   main.js 执行流程                       │
└─────────────────────────────────────────────────────────┘

1. 从 vue 库导入  →  createApp(创建应用的方法)
          ↓
2. 导入根组件     →  App.vue(整个应用的根)
          ↓
3. 导入路由插件   →  router(页面跳转功能)
          ↓
4. 创建应用实例   →  const app = createApp(App)
          ↓
5. 安装路由       →  app.use(router)
          ↓
6. 挂载到页面     →  app.mount('#app')
          ↓
┌─────────────────────────────────────────────────────────┐
│               Vue 应用正式启动、渲染页面                 │
└─────────────────────────────────────────────────────────┘

再配一张结构关系图(更直观)

public/index.html
   ↓
<div id="app"></div>  👈 挂载点
          ↑
          │
main.js ──┘
  ↓
createApp(App.vue)    👈 根组件
  ↓
use(router)           👈 插件
  ↓
整个 Vue 应用运行

一句话记住

导入 → 创建 → 装插件 → 挂载到页面 → 跑起来

极简、清晰、能直接看懂的 Vue3 项目整体架构图,结构一目了然:

┌─────────────────────────────────────────────────────────────┐
│                    Vue3 项目整体架构图                       │
└─────────────────────────────────────────────────────────────┘

                             浏览器页面
                                   ↑
                                   │
              ┌───────────────────────────────────┐
              │      public/index.html            │
              │  <div id="app"></div> 【挂载点】   │
              └───────────────────┬───────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────┐
│                     main.js 【入口文件】                    │
│  1. import { createApp } from 'vue'                        │
│  2. import App from './App.vue'                             │
│  3. import router from './router'                           │
│  4. const app = createApp(App)                              │
│  5. app.use(router)                                         │
│  6. app.mount('#app')                                       │
└───────────────────────────┬─────────────────────────────────┘
                            │
                            ▼
              ┌───────────────────────────┐
              │       App.vue 【根组件】  │
              │  <router-view /> 路由出口 │
              └───────────┬───────────────┘
                          │
                          ▼
        ┌───────────────────────────────────┐
        │             router                │
        │      路由配置:页面跳转规则        │
        │  / → Home.vue   /about → About.vue│
        └───────────┬───────────────────────┘
                    │
                    ▼
    ┌───────────────┴───────────────┬───────────────────┐
    ▼                               ▼                   ▼
Home.vue【首页】               About.vue【关于页】   ...其他页面
    │                               │
    ▼                               ▼
组件(Header、Footer、List...)  组件、样式、逻辑

一句话总结整个架构:

index.html(挂载点) ← main.js(入口) ← App.vue(根) ← router(路由) ← 各个页面组件

最标准、最清晰、直接对应前面架构的 Vue3 项目目录结构图,一看就懂:

📁 你的Vue项目根目录
├─ 📁 public/            # 静态资源(不参与打包)
│  └─ index.html         # 页面入口 → 里面有 <div id="app">
│
├─ 📁 src/               # 核心源码(99% 工作都在这)
│  ├─ main.js            # 项目入口:创建App、挂载、use插件
│  ├─ App.vue            # 根组件:所有页面的父容器
│  │
│  ├─ 📁 router/         # 路由
│  │  └─ index.js        # 路由配置:path → 页面组件
│  │
│  ├─ 📁 views/          # 页面组件
│  │  ├─ Home.vue
│  │  └─ About.vue
│  │
│  ├─ 📁 components/     # 公共组件(按钮、卡片、头部等)
│  │  ├─ Header.vue
│  │  └─ Footer.vue
│  │
│  ├─ 📁 assets/         # 图片、样式、字体等资源
│  └─ 📁 stores/         # Pinia/Vuex 状态管理(可选)
│
├─ package.json          # 依赖、脚本命令
└─ vite.config.js / vue.config.js  # 构建配置

对应前面的架构,一句话串起来:

public/index.html ← src/main.js ← App.vue ← router ← views/页面


1. 📁 public/

作用:放「不参与打包、直接原封不动丢到网站根目录」的静态文件

里面有什么

  • index.html → 整个网页的壳
  • 图片、图标、第三方静态脚本

什么时候用

  • 网站图标 favicon.ico
  • 必须放在根目录的文件
  • 不想被 Webpack / Vite 编译压缩的资源

怎么用

直接写路径:

<img src="/logo.png">

2. 📁 src/

项目 99% 代码都在这里,是你的工作区


2.1 src/main.js

项目入口文件

干什么

  • 创建 Vue 实例
  • 注册路由、Pinia、UI库
  • 挂载到 #app

什么时候用

  • 加插件(router、element-plus、axios…)
  • 全局配置

2.2 src/App.vue

根组件

干什么

  • 放整个项目共用结构:<router-view>、Header、Footer

什么时候用

  • 写全局布局
  • 放路由出口

3. 📁 src/router/

路由:控制页面跳转

里面一般是 index.js

干什么

  • 配置:路径 → 对应页面
import Home from '@/views/Home.vue'
routes = [
  { path: '/', component: Home }
]

什么时候用

  • 新增页面
  • 修改页面地址
  • 做权限控制

4. 📁 src/views/

页面组件(一个.vue = 一个页面)

什么时候用

  • 首页、详情页、个人中心…

命名

Home.vue、User.vue、Detail.vue


5. 📁 src/components/

公共小组件:多个页面会重复使用

例子

  • Button.vue
  • Header.vue
  • Card.vue
  • Table.vue

什么时候用

  • 多个页面用到同一个东西
  • 为了复用、简化代码

6. 📁 src/assets/

图片、样式、字体、音视频等资源

什么时候用

  • 页面里用到的图片
  • 全局 CSS / SCSS
  • 字体文件

怎么用

<img src="@/assets/logo.png">

7. 📁 src/stores/

状态管理 Pinia(全局数据共享)

什么时候用

  • 用户信息
  • 购物车
  • 全局主题、语言
  • 多个页面要共用的数据

8. 📁 src/api/

接口请求(axios)

干什么

  • 统一管理后端接口
  • 便于维护
// api/user.js
export function getUserInfo() {
  return axios.get('/user/info')
}

9. 📁 src/utils/

工具函数

放什么

  • 时间格式化
  • 防抖、节流
  • 通用小方法

10. 根目录文件(简单知道就行)

  • package.json → 依赖、启动命令
  • vite.config.js / vue.config.js → 项目配置
  • .gitignore → git 忽略文件

超简记忆口诀

  • public → 网站外壳、根目录静态文件
  • src → 你写代码的地方
  • main.js → 项目入口
  • App.vue → 根组件
  • router → 管页面跳转
  • views → 放页面
  • components → 放复用小组件
  • assets → 图片样式
  • stores → 全局数据
  • api → 后端接口
  • utils → 工具方法

Springboot+Vue项目启动流程 mysql8安装教程,还有mysql的可视化工具navicat的安装以及破解教程以上安装完成之后,即可以进去navicat,右键,然后输入数据库名字,然后运行项目中附带的.sql文件,这样就有了项目运行的数据库文件。 阅读详情

相关推荐

Vue3项目搭建及文件结构

-- vue.config.js // vue cli 3+项目配置文件,如代理设置、开发服务器端口等。| |-- main.js // 入口JavaScript文件,用于引入Vue、安装插件、挂载根实例等。|-- babel.config.js // Babel配置文件,用于转译ES6+代码。| |-- assets/ // 存放资源文件,如图片、样式等。| |-- components/ // 存放Vue组件。| |-- App.vue // 应用的根组件。

Heidi 1121

Vue3搭建&启动

vue开发过程中,习惯使用@代替src,vite默认不识别。1.project-name 输入项目名vue3-vite。在根目录下添加编辑器配置文件: .editorconfig。2.select a framework 选择框架。3.select a variant 选择语言。可以在alias中给常用的目录定义其他别名。初始化Eslint配置。

ZMN0057的博客 5496

PID不够用?试试用ADRC改造你的ArduCopter:从Simulink仿真到SITL测试全记录

本文详细介绍了如何将ADRC(自抗扰控制)算法集成到ArduPilot飞控中,以替代传统PID控制器。通过Simulink建模、参数整定和SITL仿真测试,展示了ADRC在抗扰动能力、响应速度和参数调节复杂度上的优势,特别适合无人机在强风扰动下的稳定控制。

weixin_32349093的博客 275

vue3学习-1配置以及启动

1.首先安装nodejs以及vscode以及vscode关于vue3的插件Volar【volar】在vscode中安装,ctrl+· 调出终端,运行“npm install typescript”安装typescript 就是可以根据提示用浏览器访问了 2.vue3的基本使用创建一个快速创建的魔板,在vscode中设置 vue.json文件内容: 2.2 新建以及vue的初步使用新建vue文件,在components中新建一个“Applab.vue”文件 2.2.1在Applab.vue”中输入

wtt234的专栏 5475

赴美参加学术会议办理流程

有幸能在研究生阶段获得学校资助出国参加学术会议,首先要感谢学校的支持,以及学院和实验室的各位老师~ 接下来说下参会整个准备过程: 本人在接到论文录用通知后,就开始办理相关手续。因为会议地点是美国夏威夷,而且录用通知时间与会议召开时间只隔两个月左右,所以接下来两个月时间要办好学校出国申请手续,赴美签证,因为专业原因,据说签证不好办,所以时间比较紧。学校出国申请和签证相关材料是并行进行的,赴美花费...

xingxin_xu的博客 3196

DSPACE仿真平台的使用

DSPACE仿真平台的使用 文章目录DSPACE仿真平台的使用1.ModelDesk新建项目2.MotionDesk引入项目3.ControlDesk引入项目4.项目整合运行 我们使用DSPACE仿真平台软件来模拟小汽车的自动驾驶。 总共需要用到DSPACE大类下的三个软件:ModelDesk、ControlDesk、MotionDesk。 1.ModelDesk新建项目 在桌面上点击ModelDesk图标,打开DSPACE—ModelDesk 选择 File 标签,侧边栏选择 New,点击 New A

qq_42582489的博客 7529

Vue3项目启动教程

计算机毕设指导、Java

2502

STC8H DMA 串口1全双工中断方式收发通讯C语言

串口1全双工中断方式收发通讯程序。 通过PC向MCU发送数据, MCU将收到的数据自动存入DMA空间. 当DMA空间存满设置大小的内容后,通过串口1的DMA自动发送功能把存储空间的数据原样返回. 用定时器做波特率发生器,建议使用1T模式(除非低波特率用12T),并选择可被波特率整除的时钟频率,以提高精度。

czhaii的专栏 1468

如何启动一个vue3的项目

关于如何启动一个vue3的项目的还算保姆级文档

L念安dd的博客 3807

RcisTarget实战:从差异基因到转录因子调控网络的完整分析流程(附代码)

本文详细介绍了RcisTarget工具在转录因子调控网络分析中的完整流程,从差异基因到motif富集分析,再到结果可视化与生物学解读。通过实战代码演示,帮助研究者掌握这一强大的R包应用,揭示基因表达背后的调控机制,特别适用于基因组学和生物信息学研究。

weixin_29214199的博客 228

光学仿真案例(4) 基于纳米微粒激发平面波的米氏散射FDTD仿真模拟

本案例展示了一个基于纳米粒子激发平面波的米氏散射仿真模型(mie scattering),计算其散射和吸收截面、局域场增强和远场散射分布,同时将截面和远场结果与解析解进行了比较,验证了仿真模拟的准确性。

q895235273的博客 3593

VUE 3.0项目文件结构解析及项目启动流程介绍

本文介绍了VUE 3.0项目的文件结构和启动流程及VUE组件代码风格

yeyuningzi的博客 1585

风电功率预测 | 基于RF随机森林的风电功率预测(附matlab完整源码)

风电功率预测 | 基于RF随机森林的风电功率预测(附matlab完整源码)

天天酷科研的博客 897

Vue3项目启动流程与文件结构详解

现代前端开发中,模块化构建工具如Vite已成为提升开发效率的关键技术。通过依赖预构建和原生ES模块支持,Vite实现了秒级启动和热更新。在Vue3项目中,这种构建原理与组合式API相结合,形成了高效的开发范式。项目初始化阶段会完成环境检测、模板下载和配置收集,而Vite的核心流程包括配置加载、插件初始化和服务器创建。典型应用场景包括单页应用开发和组件库构建,其中Vue3的单文件组件(SFC)通过<script setup>语法糖和CSS v-bind等特性进一步简化了开发。理解这些机制对于优化启动性能和排查

weixin_30542979的博客 49

如何在 SAP BTP 上使用 Integration Suite 消费 S/4HANA Cloud API

SAP Integration Suite是一个集成平台即服务(iPaaS),允许开发人员顺利地将内部部署和基于云的应用程序和流程与SAP管理的工具和预构建内容进行集成。登录 SAP Business Technology Platform Cockpit,进入 integration suite:再点击 API management 进入 API Portal:或者直接从收藏夹里打开链接:https://304a49cetrial.integrationsuitetrial-apiportal.cfapp

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1699

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

vue3 项目开发 之 完整环境配置与文件结构总结

vue3 项目开发 之 完整环境配置与文件结构总结

牛牛博士博客 1050

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

深入讲解一下 Vue 3 的核心源码库 vuejs/core

track 负责“依赖收集”,trigger 负责“派发更新”。

u011091936的博客 1403

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

vue入门到启动_Vuejs入门之一 单文件启动VueJs

单文件启动所谓单文件启动是将.vue结尾的文件通过webpack编译成.js文件依赖如下包vue vue-loader vue-template-complier.vue文件结构如下 + + - template中只能有一个根节点- script按照export default {配置}来写- style中可以设置scoped属性,让其只在template中生效结构根目录下增加package.j...

weixin_39803207的博客 257

vue3项目启动流程讲解

Vue 3 项目的启动流程相比 Vue 2 有了显著变化,采用了新的应用实例创建方式和组合式 API。下面我将详细讲解 Vue 3 项目的启动过程,并提供一个可视化演示。

BillKu的博客 684

Vue项目启动代码执行流程分析

相信来看看这篇文章的童鞋,都对Vue已经有了大致的了解。所以,话不多说,直接进入正题。 首先看下图: 一般一个初步的Vue项目创建好之后都会有这三个文件:index.html 、main.js 、App.js; 1、index.html :众做周知,Vue是单页面形式开发,而这个index.html文件在其中起着特别重要的作用。所有组件(后缀名为.vue都被视为组件)都会通过此文件进行渲...

chuanxincui的博客 1万+

vue3-boilerplate:Vue 3 的全能启动框架

vue3-boilerplate:Vue 3 的全能启动框架 Vue 3 作为现代前端框架的代表之一,其高性能和灵活性受到了开发者的广泛欢迎。vue3-boilerplate 是一个功能全面的 Vue 3 启动框架,为开发者提供了开箱即用的开发体验。 项目介绍 vue3-boilerplate 是一个基于 Vue 3 的启动模板,集成了 Vue Router 4、Pinia 2、Typescrip...

gitblog_00158的博客 1100

Flask-VueJS 项目教程

Flask-VueJS 项目教程 1. 项目的目录结构及介绍 flask-vuejs-survey/ ├── backend/ │ ├── app/ │ │ ├── __init__.py │ │ ├── models.py │ │ ├── routes.py │ │ └── ... │ ├── config.py │ ├── requirements....

gitblog_00957的博客 1100

Vue3项目启动流程与核心机制详解

现代前端框架的启动流程是单页应用(SPA)运行的基础机制。以Vue3为代表的响应式框架通过虚拟DOM和组件化架构实现高效渲染,其核心原理包含应用实例创建、插件系统集成和路由状态管理。在工程实践中,合理的启动流程设计能显著提升应用性能,特别是在处理异步组件加载和路由守卫等场景时。通过深入理解createApp()、app.use()等关键API,开发者可以优化首屏加载速度,实现按需加载等高级特性。本文以Vue3和Pinia状态管理为例,解析从index.html解析到最终渲染的完整生命周期,帮助开发者掌握企业

weixin_42116058的博客 165

【vue3|第3期】手把手教你使用Vite创建Vue3项目

在现代前端开发中,构建工具的选择对项目的效率和性能有着重要的影响。Vite,一个利用原生ES模块导入和即时预览的服务器端渲染(SSR)的构建工具,已经成为许多开发者的首选。本文介绍如何使用Vite来创建一个Vue3项目,并介绍其典型的项目文件结构。

Commas的博客 1722

初识Vue3(详细版:创建,启动vue 项目)

本篇博客,是基于已经学习完JavaScriptHTML和CSS知识之后的内容如果大家对这些还不是很熟悉,可以点击链接来检验你的知识水平,来发现自己的不足总而言之:Vue3 是一款用于构建用户界面的JavaScript 框架。说到“框架”大家是不是很熟悉,在我们学习后端 过程中,我们常常称 spring 框架spring 和Vue3 区别1 作用的方向不同: spring 是基于后端的,做后端项目;Vue3 是基于前端的,做前端项目2 构建工具不同:spring 是maven构建;

等什么君!的博客 4870

终极Flask+Vue.js开发方案:Flask-VueJs-Template核心功能详解

Flask-VueJs-Template是一个集成Flask后端与Vue.js前端的强大开发模板,专为快速构建现代Web应用而设计。它结合了Flask的轻量级后端框架优势和Vue.js的响应式前端开发能力,提供了完整的项目结构和最佳实践,帮助开发者从零开始搭建专业级Web应用。 ## 🌟 核心功能亮点 Flask-VueJs-Template提供了一系列开箱即用的功能,让开发过程更加高效:

gitblog_00927的博客 708
上一篇: C++执行指令,接收数据
下一篇: 本地验证http服务器拉取文件
越甲八千
博客等级 码龄11年 2959粉丝 553原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值