二、Vue 頁面渲染過程


前言

上篇博文我們依葫蘆畫瓢已經將hello world 展現在界面上啦,但是是不是感覺新虛虛的,總覺得這么多文件,項目怎么就啟動起來了呢?怎么訪問到8080 端口就能進入到我們的首頁呢。整個的流程是怎么樣的呢?

我也是剛剛接觸,所以就會有這樣的困惑,所以這篇就簡單的理解一下項目頁面渲染的過程。

渲染過程

我們上篇文章說main.js 是無用的,是廢代碼,只是起到支撐框架的。但是其實我們應該有感覺,把他刪除了整個項目就跑步起來了。其實main.js 算是項目的入口了。我們就從這個文件看起。

import Vue from 'vue'
import App from './App'
import router from './router'

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

可以看到代碼非常的少,就導入了vue.js、我們的APP.vue 以及index.js在這里插入圖片描述
第一次做動圖,操作像是老年人,大家見諒。上圖可以大概的看到引入的三個文件是什么了。
Vue.config.productionTip = false 我們這里暫時不管,知道是一個配置信息就可以了,感興趣的可以百度一下就知道什么意思了。

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

上面這些,如果完全沒有vue 語法知識的話,確實不知道什么意思,但是我們看官網教程,起步的時候都是在當個html 文件中使用vue 的。在js 中就會用到這個。
在這里插入圖片描述
可以看到,其實都是差不多的,所以這里的作用就是實例化一個Vue。當然我們項目中,這里是為整個項目實例化了一個Vue ,el 指定的元素,這里就是我們index.html 中的div啦。
在這里插入圖片描述
router 就指定路由,也就是我們在index.js 配置的路由信息。
components 指定的組件信息。項目有一個父組件就是APP.vue。我們自己寫的所有組件都是在這個父組件之下的。
怎么說呢,也就是說所有的界面,最外層的div 就是APP.vue 定義的。div 中其他的div 才是我們自己寫的。看下面這個應該就會有所感覺吧。
在這里插入圖片描述
所以這里我們就可以解答上篇文章,為什么我們只是寫了一個hello world 。但是為什么界面上呈現的會有圖標,還有樣式。因為在APP.vue 中設置了這些動洗。我們APP.vue 中的這些內容注釋掉就可以看到效果。

我們將APP.vue logo和樣式去掉,再來看看內容

<template>
  <div id="app">
    <router-view/>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>

是不是發現和我們在組件中自己寫的Hello.vue 格式完全一樣,哈哈沒錯,vue文件就是這樣的格式。可以看到template 渲染的是id 為app 的盒子(div)。這里應該是覆蓋了index.html中的d 也為app 的盒子。

所有的 router-view 中的內容,都會被自動替換。
script 中的代碼則是腳本代碼。

至此,整個過程就出來了:項目啟動首先會讀取main.js 。實例化一個vue,然后渲染APP.vue 文件內容,我們自己寫的vue 組件則是通過路由轉接到父組件下的。

番外

我們項目的流程就講到這里把,算是對上篇的補充,讓我們對項目啟動,界面渲染算是有一個大概的了解啦,我們接下來就按照官網上講一下vue 的一些語法和特性,但是與官網上不同的是,官網上都是一個個的html,而我們就在這個項目的基礎的上。將會是一個個的vue 文件。

代碼上傳到github:
https://github.com/QuellanAn/zlflovemmVue

后續加油♡

歡迎大家關注個人公眾號 "程序員愛酸奶"

分享各種學習資料,包含java,linux,大數據等。資料包含視頻文檔以及源碼,同時分享本人及投遞的優質技術博文。

如果大家喜歡記得關注和分享喲❤

file


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM