vue基础教程(4)——深入理解vue项目各目录

有任何问题,欢迎站内私信博主交流。


正文开始

  • 专栏简介
  • 1. 总览
  • 2. node_modules
  • 3.public
  • 4.src
  • 5.assets
  • 6.components
  • 7.router
  • 8.stores
  • 9.views
  • 10.App.vue
  • 11.main.js
  • 12.index.html


专栏简介

本系列文章由浅入深,从基础知识到实战开发,非常适合入门同学。

零基础读者也能成功由本系列文章入门,但如果您具备以下基础,将会事半功倍:

  1. HTML基础
  2. css基础
  3. js基础

当然,即使从未接触过前端代码的小白,也能轻松学习本系列课程,因为我会在文章中简略穿插前端基础知识。

由于各平台对专栏文章的支持度不同,所以如果您看到这篇文章的平台,系统学习专栏文章的操作不够丝滑,可以先关注小程序,后续小程序会开发专栏博客功能。

可以直接搜索【中二少年工具箱】,也可通过
二维码知乎地址:https://www.zhihu.com/question/53230344/answer/3180004527
二维码csdn地址:https://bbs.csdn.net/topics/618134623
二维码头条地址:https://www.toutiao.com/w/1790412984859652/
等入口进入,扫码关注。


1. 总览

下面是新创建项目的目录:
在这里插入图片描述
其中我们需要了解的有一下几个文件:

  1. node_modules
  2. public
  3. src
  4. assets
  5. components
  6. router
  7. stores
  8. views
  9. App.vue
  10. main.js
  11. index.html
  12. vite.config.js

下面我们一一介绍这些文件的作用。

2. node_modules

这个文件夹存放项目依赖,我们使用npm或者yarn下载的插件,以及插件所依赖的一些资源,都会下载到node_modules文件夹。这个我们不需要过多关注。

3.public

这个文件夹存放项目里的一些静态资源,包括图片/css文件/js文件等。后面我们还会讲到一个存放静态资源的文件夹,这两个文件夹的不同之处在于,public存放的资源,不会被编译。

也就是说,public中存放的资源是什么,最终打包vue后的项目根目录就会存在什么,而后面将要讲解的静态资源路径,则会被编译,被编译后,文件会被压缩,混淆等等,无法正常阅读和修改。

所以我们经常在public中存放一些公共资源,或者在打包后,仍然可能需要修改的文件。

4.src

src是项目的主要文件路径,里面存放着vue所有需要编译的文件。

我们需要简单理解前端的编译。我们了解,vue文件的后缀为.vue,但是浏览器其实并不认识何为.vue文件,它只认识.html文件。所以如果直接把.vue文件拖拽到浏览器中,是无法正常显示的。

想要把vue文件变成浏览器认识的html文件,就需要用到编译。编译的过程,简单而言,就是nodejs负责把src下面所有的vue文件,js文件,css文件,图片文件等,都读取并按照规则组合,变成一个巨大的html文件,最终浏览器运行的是这个html文件。

只有src下的文件才会参与上述的编译过程,其它文件并不会被编译。

也正是由于需要编译,vue的运行和打包,才需要nodejs环境。

5.assets

与上面的public对应,也是一个存放静态资源的文件夹。

不同的是,assets中存放的静态资源会被编译,而上面已经讲过,public中的静态资源不会被编译。

6.components

存放项目中的公共组件,公共组件往往是一些基础通用的组件,可以被复用到更多位置。

7.router

存放路由文件。路由的概念,简而言之,就是输入一个网址,找到对应的页面。我们输入的网址,即是路由地址。

由于网址的前面部分,是域名地址,所有页面都是一致的,只有后面的部分不同,所以在vue中,网址后半部分,即是路由地址。

初学者有个基础概念即可,入门阶段并不需要深入了解路由,很多时候我们只需要知道怎么写可以构建一个完整路由即可。先记结论,再学原理。

8.stores

存放vue状态管理的文件。vue有两个重要的基础插件,一是路由插件,二是状态管理插件。

路由插件上面已经说过,是控制页面跳转的。状态管理插件顾名思义,是管理状态的。这里的状态一般是全局状态,也就是说写在状态管理中的值,可以在项目src目录下,任何地方操作和使用,从而达到全局状态管理的目的。

实现全局状态管理的插件时pinia,而pinia如何应用,如何定义的js文件,则默认放在stores目录下。

9.views

这里存放和业务相关的前端页面,项目中大部分的.vue文件都是存放在views文件夹下。

10.App.vue

这是我们所有vue文件的入口文件。

vue有组件的概念,也就是所有的vue页面都是由一个个组件组合而成。项目中所有的vue组件,都是组合起来后,再放到App.vue中。这其中有很多细节,涉及到路由的概念,但是并不影响我们理解App.vue——所有vue文件的入口。

11.main.js

通过观察main.js中的代码可以发现,main.js主要有两个作用:一是引入各种插件,全局样式;二是将App.vue与index.html连接起来。

12.index.html

观察项目目录,可以发现,整个项目中只有一个html文件——index.html。

index.html中的关键代码如下:

  <body>
    <div id="app"></div>
    <script type="module" src="/src/main.js"></script>
  </body>

这个文件里的代码非常简洁,一个div元素,提供id为app的容器,用来盛放需要显示的前端代码。一个是script标签,用来引入main.js文件。

main.js文件里除了引入插件的代码,还有将App.vue与index.html连接起来的代码:

app.mount('#app')

将App.vue,main.js,index.html三个文件串联起来,就能把三者的关系梳理清楚。

index.html把main.js引入,把main.js中的功能引入页面。然后main.js中负责引入App.vue组件,并把App.vue中的所有内容挂载到id为app的容器中。最终App.vue是组件的入口,负责将所有的vue组件整合在一起。

三者脉络清晰后,就能把所有的vue组件编译后,都挂载到#app容器中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中二少年学编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值