1. 初始化脚手架

  1.1  全局安装 @vue/cli  npm install -g @vue/cli

  1.2 切换到创建项目的目录,执行 vue create projectname

  1.3 选择符合自己要求的项进行Y/N,最终生成项目文件

2. 脚手架文件结构

|-- node_modules: 存放下载依赖的文件夹
|-- public: 存放不会变动静态的文件,它与src/assets的区别在于,public目录中的文件不被webpack打包处理,会原
样拷贝到dist目录下
|-- index.html: 主页面文件
|-- favicon.ico: 在浏览器上显示的图标
|-- src: 源码文件夹
|-- assets: 存放组件中的静态资源
|-- components: 存放一些公共组件
|-- views: 存放所有的路由组件
|-- router: 存放路由配置信息
|-- store: 存放公共状态 vuex
|-- App.vue: 应用根主组件
|-- main.js: 应用入口 js
|-- .browserslistrc: 指定了项目可兼容的目标浏览器范围, 对应是package.json 的 browserslist选项
|-- .eslintrc.js: eslint相关配置
|-- .gitignore: git 版本管制忽略的配置
|-- babel.config.js: babel 的配置,即ES6语法编译配置
|-- package-lock.json: 用于记录当前状态下实际安装的各个包的具体来源和版本号等, 保证其他人在 npm install 项
目时大家的依赖能保证一致.
|-- package.json: 项目基本信息,包依赖配置信息等
|-- postcss.config.js: postcss一种对css编译的工具,类似babel对js的处理
|-- README.md: 项目描述说明的 readme 文件
  1. package.json:这是一个重要的配置文件,用于定义项目的依赖项、脚本命令和其他元数据。它包含了项目的名称、版本号、作者等信息,还列出了项目所需的各种包依赖。这个文件是使用npm(Node Package Manager)进行包管理和构建的基础。

  2. public文件夹:这个文件夹包含了一些静态资源,如HTML文件、图标和其他非编译的文件。在构建过程中,这些文件会直接复制到最终的构建目录中,可以在这里放置一些全局的资源。

  3. src文件夹:这是你开发项目的主要目录。它包含了Vue组件、样式文件、JavaScript文件和其他资源。下面是src文件夹中的一些重要文件和文件夹:

    • main.js:这是项目的入口文件,用于初始化Vue应用实例,并将根组件挂载到DOM中。你可以在这里引入全局样式、插件和其他配置。

    • App.vue:这是根组件,是整个应用的容器。它可以包含其他组件,并定义应用的整体结构和布局。

    • components文件夹:这个文件夹用于存放应用的各种Vue组件。你可以根据需要创建子文件夹来组织组件。

    • assets文件夹:这个文件夹用于存放应用所需的静态资源,如图像、字体文件等。

    • router文件夹:如果你在初始化项目时选择了Vue Router插件,这个文件夹将包含用于定义路由的文件。

    • views文件夹:这个文件夹通常用于存放与路由对应的视图组件,每个视图组件对应应用中的一个页面。

  4. node_modules文件夹:这个文件夹包含了项目所需的所有依赖包,这些包是通过package.json文件中的配置来安装的。你不需要手动管理这个文件夹,npm会自动安装和更新依赖。

注: components文件夹通常用于存放可复用的、通用的组件,这些组件可以在应用的不同部分进行重复使用。views文件夹通常用于存放与路由对应的视图组件,每个视图组件对应应用中的

一个页面。这些组件通常较大粒度,包含了特定页面的整体结构和布局,可能由多个小组件组成。

2.1 src文件下各文件使用示例说明:

main.js

  • main.js是项目的入口文件,用于初始化Vue应用实例并将根组件挂载到DOM中。
  • 你可以在main.js中引入全局样式、插件和其他配置。
  • 例如,在main.js中引入全局CSS文件:
import Vue from 'vue';
import App from './App.vue';
import './assets/global.css'; new Vue({
render: h => h(App)
}).$mount('#app');

App.vue

  • App.vue是根组件,是整个应用的容器,定义应用的整体结构和布局。
  • 它可以包含其他组件,并通过插槽(slot)或路由(Vue Router)加载不同的内容。
  • 例如,一个简单的App.vue可能包含一个导航栏和一个内容区域:
<template>
<div>
<Navbar />
<router-view />
</div>
</template> <script>
import Navbar from './components/Navbar.vue'; export default {
components: {
Navbar
}
};
</script>

components文件夹:

  • components文件夹用于存放应用的各种Vue组件。
  • 你可以根据需要创建子文件夹来组织组件。
  • 例如,你可以在components文件夹下创建一个Button.vue组件,并在其他组件中引用它:
<template>
<button class="button">{{ label }}</button>
</template> <script>
export default {
props: {
label: {
type: String,
required: true
}
}
};
</script> <style scoped>
.button {
/* 样式定义 */
}
</style>

assets文件夹:

  • assets文件夹用于存放应用所需的静态资源,如图像、字体文件等。
  • 这些资源可以在组件中通过相对路径引用。
  • 例如,你可以将应用的Logo图像放置在assets文件夹下,并在组件中使用它:
<template>
<img src="@/assets/logo.png" alt="Logo">
</template>

router文件夹:

  • 如果你在初始化项目时选择了Vue Router插件,router文件夹将包含用于定义路由的文件。
  • 你可以在这里配置应用的路由规则和相应的组件。
  • 例如,在router/index.js文件中定义一个简单的路由规则:
import Vue from 'vue';
import VueRouter from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue'; Vue.use(VueRouter); const routes = [
{
path: '/',
name: 'Home',
component: Home
},
{
path: '/about',
name: 'About',
component: About
}
]; const router = new VueRouter({
routes
}); export default router;

  

3.  脚手架整体的加载过程:

  1. 当你启动开发服务器或构建项目时,Vue CLI会读取package.json文件中的配置信息,并执行相应的脚本命令。

  2. 在执行脚本命令之前,Vue CLI会使用Webpack等工具根据配置文件(如vue.config.js)进行项目的构建和打包。

  3. 在构建过程中,Webpack会根据main.js文件作为入口文件,逐个解析和加载其他组件、样式文件和资源文件。

  4. main.js文件被加载时,它会创建Vue应用实例,并将根组件App.vue挂载到HTML页面的特定DOM元素上。

  5. 根组件App.vue可以包含其他组件,这些组件会在需要时被动态加载和渲染。

  6. 当应用程序运行时,Vue会根据路由配置(如果有)动态加载和渲染相应的视图组件。

vue 脚手架文件结构及加载过程浅谈的更多相关文章

  1. vue 脚手架 图片预加载

    $('.back-img').onload =function(){ var img =new Image(); img.src = '../assets/dt-bj.png'; } 该组件内的图片加 ...

  2. ELF文件的加载过程(load_elf_binary函数详解)--Linux进程的管理与调度(十三)

    加载和动态链接 从编译/链接和运行的角度看,应用程序和库程序的连接有两种方式. 一种是固定的.静态的连接,就是把需要用到的库函数的目标代码(二进制)代码从程序库中抽取出来,链接进应用软件的目标映像中: ...

  3. JVM系列【3】Class文件加载过程

    JVM系列笔记目录 虚拟机的基础概念 class文件结构 class文件加载过程 jvm内存模型 JVM常用指令 GC与调优 Class文件加载过程 JVM加载Class文件主要分3个过程:Loadi ...

  4. 工厂模式模拟Spring的bean加载过程

    一.前言    在日常的开发过程,经常使用或碰到的设计模式有代理.工厂.单例.反射模式等等.下面就对工厂模式模拟spring的bean加载过程进行解析,如果对工厂模式不熟悉的,具体可以先去学习一下工厂 ...

  5. linux内核启动以及文件系统的加载过程

    Linux 内核启动及文件系统加载过程 当u-boot 开始执行 bootcmd 命令,就进入 Linux 内核启动阶段.普通 Linux 内核的启动过程也可以分为两个阶段.本文以项目中使用的 lin ...

  6. Inside Flask - flask 扩展加载过程

    Inside Flask - flask 扩展加载过程 flask 扩展(插件)通常是以 flask_<扩展名字> 为扩展的 python 包名,而使用时,可用 import flask. ...

  7. web.xml 的加载过程

    初始化过程: 在启动Web项目时,容器(比如Tomcat)会读web.xml配置文件中的两个节点<listener>和<contex-param>. 接着容器会创建一个Serv ...

  8. Browser默认书签加载过程

    Browser配置默认书签——string.xml中<string-array name="bookmarks" translatable="false" ...

  9. Android View的加载过程

    大家都知道Android中加载view是从Activity的onCreate方法调用setContentView开始的,那么View的具体加载过程又是怎么的呢?这一节我们做一下分析. 首先追踪一下代码 ...

  10. 你所不知道的SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)

    前言 本篇主要是上一篇文章的补充篇,上一篇我们介绍了SQL Server服务启动过程所遇到的一些问题和解决方法,可点击查看,我们此篇主要介绍的是SQL Server启动过程中关于用户数据库加载的流程, ...

随机推荐

  1. Burpsuite抓包工具的使用

    一.打开工具 1处箭头为 代理127.0.0.1 端口8080 2处箭头为 证书 将证书ca下载到桌面上 选择第一个 选择下载到桌面即可 可以修改其后缀为der 此即为证书文件 此处使用火狐浏览器为示 ...

  2. There is not enough memory to perform the requested operation

    今日在写bug 时 ide 突发脑溢血,崩溃了 一.修改用户目录下的 .vmoptions 找到C:\用户\用户名.WebStorm2018.1\config\webstorm64.exe.vmopt ...

  3. Java动态数组及数组排序的三种常用方法

    一.动态数组 1.数组的定义: ​ 用于存储相同数据类型的一组连续的存储空间 2.数组的特点: ​ 数组的长度一旦定义,则不可改变 ​ 访问数组的元素需要通过下标(索引)访问,下标从0开始 ​ 数组是 ...

  4. 攻防世界_ezmaze

    题目:ezmaze re选手投递区 链接:https://adworld.xctf.org.cn/challenges/details?hash=8254ba70-6bfd-11ed-ab28-000 ...

  5. NixOS 与 Nix Flakes 新手入门

    独立博客阅读: https://thiscute.world/posts/nixos-and-flake-basics/ 长文警告️ 本文的目标 NixOS 版本为 22.11,Nix 版本为 2.1 ...

  6. Java拓展-拆,装箱,线程,反射

    导言: 在学习JavaSE的时候,我们会使用Java基础编程,并且了解了什么是面向对象的编程,会使用Java写一些基础算法程序, 接下来,我们需要了解Java的自动拆箱和自动装箱,单线程和多线程,反射 ...

  7. Junit4 一直处于运行中的排查过程

    新买了一个Macbook Pro . 之前的工程搬家过来, 这天要跑个单元测试. 发现Junit4 一直处于运行中.没有错误信息,没有用例执行结果.遂开始排查原因. 这里插一句,苹果芯片的Mbp还是很 ...

  8. Hugging News #0703: 在浏览器中运行 Whisper 模型、WAIC 分论坛活动邀请报名

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...

  9. Java在算法竞赛中的一些技巧

    转载请注明出处(- ̄▽ ̄)-   谈到算法竞赛中使用Java,那么有一个绕不开的点就是如何快速地输入输出.通常来说,Scanner类固然可以帮助我们顺利地完成各种输入要求,而syso(System.o ...

  10. 使用 OpenAPI 构建 RESTful API 文档

    作为一名开发者,往往需要编写程序的 API 文档,尤其是 Web 后端开发者,在跟前端对接 HTTP 接口的时候,一个好的 API 文档能够大大提高协作效率,降低沟通成本,本文就来聊聊如何使用 Ope ...