對於後端同事的幾個vue問題的解答

前言:開始學習vue,後端同事問了幾個問題,在這裏總結一下,談談自己的理解,針對人人開源的那個網站的前端demo文件進行說明,人人網是一個非常好的前後端模板下載網站

1.vue項目中那麼多入口文件?程序執行究竟是先加載哪個入口?

App.vue文件你可以理解是一個大的主組件,所有的小組件都是包含在這個主組件中,頁面的切換其實就是在切換這個主組件中的小組件,
main.js是程序的入口文件,用於加載各種小組件,並將這些掛載到APP.vue上;
在index.html中,一般會定義一個id=app的元素,這個元素其實就是APP.vue主組件的入口。你在main.js中能看到

new Vue({
    el: ‘#app’,
    router,
    store,
    template: ‘’,
    components: { App }
})

這裏的components: {App}就是APP.vue文件;將主組件引入到頁面中進行顯示;
我理解的順序是main.js–>app.vue–>index.html這樣的順序;

2.項目中用webpack將js、css轉換爲靜態資源,減少請求?這個是怎麼體現的,不是很明白?

webpack是一個大包工具,在其眼中,一切皆模塊,在項目中一般會有一個叫webpack.config.js的文件,其中就是保存了webpack的配置;
裏面描述了webpack處理文件的相關配置;
在這些配置中你可以設置將多個js文件,或者多個css文件合併成一個js文件或者css文件,實現代碼的合併,這樣我們的頁面最終在
加載文件的時候,請求的資源就變少了;繼而達到減少http請求的目的。

3.我覺得使用vue.js和bootstrap.js就可以開發出一些管理系統的頁面了,爲什麼還要引入vuex.js?它的store具體能有什麼用?

Vue框架三大核心特點中有組件開發這一條,組件開發的目的是實現UI塊的複用,避免大量的重複性工作,且能做到集中管理,一改全改的目的;
但是當用組件來寫頁面時,涉及到各個組件之間的通信(一個組件數據的變化可能牽扯到別的組件數據的變化),使用vue中的組件之間傳遞方法將
會變得異常複雜,所以Vue就發明了VueX,他的store就相當於一個公共的倉庫,當項目比較大時,將所有的數據保存到這個倉庫裏。這裏的數據
和組件進行雙向綁定,當一個組件改了數據後,所有的組件都會跟着改變;
打個比方,你可以理解他相當於瀏覽器中的localStorage,一個頁面把數據存進去,別的頁面都能使用其中的數據了;
Vue官方建議當項目較大,較複雜時,再使用VueX,小項目就顯得有些多餘了;

4.vue.js可以寫在html頁面就可以運行了,爲什麼很多頁面都是xx.vue文件來寫?

我的理解是Vue框架在設計的時候希望組件化開發,一個組件(也就是一個.vue文件)他應該是一個完整的小頁面
(小頁面要包括style/template/js三個部分組成),將多個這種組件合併到一起才組成了一個html完整的頁面;
你如果每個頁面都是用html文件來寫,就不能實現頁面的拼接組合了,簡單說,就是爲了實現Vue的組件目的,其
自己定義了新的文件格式.vue;

5.前端項目文件在打包後,會產生一個source map文件,這個文件具體有啥作用?不會造成頁面加載資源的增多嗎?

加載的資源文件在壓縮後,瀏覽器在報錯時,所報的錯誤行多餘調試來說,沒有意義,這個文件可以幫助我們找到對應的實際開發代碼的位置,便於我們快速定位問題;

—以上問題是對於同事的問題的簡單回答,有覺得說的不到位的歡迎大家評論指正

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章