Vue單頁開發項目搭建

公司新項目開發要使用vue框架,自學了一下vue單頁開發,分享一下vue單頁項目搭建的學習效果,主要使用vue腳手架 vue-cli 和 vue全家桶(vuevue-routervuexvue-resource/axios),很多地方不瞭解,大家多多指點

 

一、項目搭建,使用vue-cli會生成一套提前定義好的構建文件,和相應的文件。

1npm install -g vue-cli (安裝腳手架,window+r打開cmd,進入自己想要安裝項目的文件夾)

2vue init webpack my-project (創建自己的項目,項目命名)

3cd my-project (進入自己的項目文件夾中)

4npm install (下載modules,淘寶鏡像安裝也可以,安裝淘寶鏡像:npm install -g cnpm --registry=https://registry.npm.taobao.org

5,下載開發需要的庫(下載多個可以在後面拼接上去)

npm i vue-resource vue-router vuex --save

6npm run dev (運行項目,打開http://localhost:8080即可進入項目。

注意:在第二步時,需要執行幾個命令(選擇yes或no),其中有一個如下圖,use eslint to lint your code? 第一次選了yes,在項目中發現只能使用空格鍵來縮進,不能使用tab鍵(會報錯),再次搭建時選擇了no就可以使用其他縮進方式了。


如果選擇了yes,可以在build文件夾下的webpack.base.conf.js文件中把下面幾行註釋掉,重啓服務即可(如下圖)



二、瞭解基本的目錄結構。除了一些項目配置的文件,前端需要操作的文件基本都在src文件夾中(本人是web前端,配置的文件瞭解的很少,在努力中),打開src文件夾,目錄結構如下圖,下面會具體講解各個文件的使用。(views文件夾是我自己加的,主要放頁面,後面會詳細說明),除了src文件夾,目錄中有一個index.html的文件,這個就是我們的html頁面,所有的單頁都會顯示在這個頁面中,可以在這個頁面上引入公共的css、js等。

1main.js  此頁面主要是引入插件和將vue實例掛載到dom上。所需要的插件都可以在這個頁面引入,css樣式也可以再次引入,寫法如下圖。



2App.vue  這是vue單頁的根頁面,所有的單頁面都渲染到這個頁面上,寫法很簡單,基本上沒啥變化的.

3component文件夾,這個文件夾是放公共組件的,所有的公共組件可以寫在這個文件夾裏面,比如footer.vueheader.vue等。我發現好多開源項目把所有的單頁頁面也寫在這個文件夾裏,我把所有的頁面拿了出來放在一個新的文件夾裏views,當然不拿出來也可以的,我只是個人習慣。


組件的引用很簡單,在script標籤裏import,如import headers from 'components/header.vue',然後在html代碼裏寫入<headers></headers>即可。


4views文件夾。我自己新建的放單頁頁面的文件夾。


在實際開發中,有很多頁面都會用到公共的頭部和底部,每個頁面都引入組件顯得很麻煩,所有我在views文件裏新建了一個base.vue的文件,在這個頁面引入了公共的頭和底,其他頁面只需要通過路由嵌套,嵌套在base.vue頁面裏就可以了,不需要公共頭和底的就可以不嵌套。頁面的公共的部分都可以通過這種方式來做,當然具體情況具體分析。

base.vue文件寫法很簡單,如下圖:



5router文件夾和其下的index.js, index.js是配置路由的文件,所有的路由配置都寫在這個文件裏面。

mode:  vue-router 默認hash 模式 用路由的history 模式,這種模式充分利用history.pushState API 來完成 URL 跳轉而無須重新加載頁面。

path:  path是路由配置好的路徑,頁面跳轉用的,如<router-link to="/login">登錄</router-link>,頁面會將<router-link>標籤轉義成a標籤,點擊就可以跳轉到路由指定的login頁面。require裏就是頁面的原始路徑,也就是路由所指向的頁面。頁面跳轉還有一種方法,就是this.$router.push(login),類似於window.location.href=” ”,


前面提到要用到路由繼承,新建了一個base.vue的文件,路由繼承寫法如下,children裏面的頁面會嵌套在base.vue這個頁面裏,就是渲染在base.vue這個頁面上,base.vue裏面的公共組件就是公用的。類似所有的頁面都會渲染到App.vue這個頁面裏。


最開始在寫路由的時候,我的寫法是報錯的,百度的發現是resolve方法的問題,build文件夾下的webpack.base.conf.js文件中,修改了一下resolve這個方法,這是個配置路徑的方法(我不是很明白這個),如下


項目搭建完了,好多問題都是遇到了查詢資料才解決的,還是有很多不懂的地方,特別是一些配置的問題,路由也有其他的方法。vue初步接觸,慢慢來吧。GitHub地址:https://github.com/leileibrother/vue-

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