0
点赞
收藏
分享

微信扫一扫

【Vue3+Express实战-4】Vue加载渲染页面的原理

静鸡鸡的JC 2022-04-26 阅读 68

我是一个前端,如果你是想一起学习,一起找工作,一起进步的,那你可以加我;咱们交个朋友,一起学习前端技术,咱们一起找工作,一起交流

如果你是不上进,不学习,打广告的,或者整体怨天怨地的,那千万别别别加我,我不想跟你这种人交朋友!

在上一节课程中,我们已经成功的实现了新增课程的接口,有了接口,我们就可以编写页面,调用接口。

我们这里提到页面,但是知道Vue是如何加载页面的嘛?我相信一些工作一两年的前端选手,也并不知道Vue项目是如何实现的。在正式编写页面之前,我们先来了解一下加载的原理,知其所以然!

打开第一节,我们搭建的Vue项目。

目录结构

可能有很多小伙伴,没有写过Vue的项目,我们先来介绍Vue项目模板的目录解构!

  • public:存放index.html文件,最终所有的组件都会加载在这个index.html上。

  • assets:静态资源,例如图片 视频 CSS。

  • components: 存放组件

  • router:存放路由地址

  • view:存放页面代码

  • App: 网页挂载的地方

  • main.js 项目入口

  • vue.config:Vue官方封装的对Webpack的操作

image-20220409100028337

如果你听完还是不理解,没关系,在敲代码的过程中,会慢慢理解的。

main.js-入口

main.js主要做了两件事:

  1. 引入并注册第三方组件
  2. 绑定页面index.html

在上面的的目录介绍中,我们介绍了public中的index.html文件,大家打开这个文件可以看到一个叫做app的div标签。

image-20220409160259814

在main.js中,我们可以看到,mount方法绑定了一个**#app**,这里的**#app**就是上面的div。

createApp(App).use(ElementPlus).use(router).mount('#app')

最终Vue会将所有的组件加载到div#app的里面,这也是我理解的vue叫做单页面应用开发的原因。

image-20220409160455972

路由以及加载组件

好了,现在正式开始了,先启动项目。首页的上方是导航,点击会跳转到对应的页面。这里的跳转是使用Vue-Router控制的。

image-20220409151931618

打开APP.vue文件,这里可以看到有三个标签router-link和router-view,这两个标签就是Vue-Router提供的。

 <router-link to="/">Home</router-link> |
<router-link to="/about">About</router-link>

<router-view/>

image-20220409152824822

to=“***”,这里的***就是我们说的路由,他是在src\router\index.js定义的。

这里的写法是最基本的写法,path和component是必须的。

  • path你可以理解为在浏览器的显示的路径

image-20220409154926926

  • component指的是要加载的组件。

值得一提的是,这里component的引入方式是懒加载!有兴趣的同学可以去了解了解。

image-20220409154011950

例如下面是我们的home页面的代码:

  <div class="home">
<img alt="Vue logo" src="../assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>

当我们跳转到home的时候,Vue就会将整个代码加载到router-view上

image-20220409153236774

总结

我们来梳理一下:vue/cli 生成的项目是如何加载页面的。

在public目录下有一个index.html文件

在main.js中我们调用mount方法,绑定到index.html中的div#app

通过Vue-Router,我们可以将组件渲染到router-view上

最后会将Vue-Router渲染的组件,加载到div#app中。

举报

相关推荐

0 条评论