第二章 初體驗
前言
熱乎乎的第二篇來了,這幾天有專案纏身,沒有及時更新,在下實在抱歉
介紹
前一章我們介紹了腳手架的搭建,本章開始正式開發,廢話不多說,我們直接開發一個後臺管理系統,ui框架用神器element ui
,api資料我們自己模擬,用mock.js
。
目錄結構
剛搭起的框架有一堆亂七八糟的檔案和資料夾,我不認識它們,它們也不認識我,憋著急,讓它們自我介紹一下。
- build:webpack的相關配置,裡邊的各種命令vue腳手架已經幫我們配置好了。
- config:vue的基本配置檔案,比如埠號監聽,打包輸出等等。
- dist:打包後的檔案都在這,也就是說你執行
npm run build
之後產生的一坨東西,都在這裡 ,開發完後,把它們直接扔到你的web伺服器上,就是上線嘍。 - src:嗯,這個才是我們的地盤,要寫頁面程式碼,請認準src牌資料夾。
- assets:靜態資源請放到這裡,比如單獨的css,js。
- components:公用的元件,意思就是很多元件都會用到某一個元件,那放到這裡就沒錯了。
- pages: 頁面元件(說人話就是.vue檔案)存放的地方。
- router:顧名思義,就是放路由的地方嘍,至於怎麼配置,我現在不想解釋(就是這麼任性)。
- static:圖片啥的你可以放到這。
- test:測試?好像沒啥用,反正暫時用不到。
- .babelrc:es6語法編譯配置,意思就是你的程式碼裡有es6的語法,但是瀏覽器並不認識es6啊,就靠它給翻譯一下,讓瀏覽器認識。
- .editorconfig:編輯器配置,emmmmmm,我也不太懂這用來幹啥。
- .gitignore:git忽略檔案,提交程式碼的時候,告訴git,某些東西不要提交,比如node_modules資料夾,這玩意裡邊一大坨,總不能每次提交程式碼的時候等半天吧。
- .postcssrc.js:postcss配置,你問我什麼是postcss?自己查去。
- index.html:這個不用我解釋了吧,入口檔案,瀏覽器第一眼看到的就是它。
- package-lock.json:鎖定安裝時的包的版本號,說人話就是,你的npm下載了一堆依賴,如果別人在npm install的時候,會預設下載最新版本的依賴,but新的版本不一定會相容舊的啊,那別人可能就跑不起來你的專案了,這個時候,package-lock.json出來把你的版本鎖定,這樣別人npm install的時候,也就只能下載和你一樣的版本了。
- package:專案的基本資訊,比如專案名稱,安裝了哪些依賴,版本號是多少,統統在這裡。
安裝依賴
看完大家的自我介紹,相信你差不多能認識它們了,那我們接下來就安裝一下開發用到的一些依賴。
- 安裝element ui,怎麼安裝?還是開啟命令列工具,cd到你專案的根目錄,輸入
npm install element-ui --save-dev
,完成之後瞅一眼package.json檔案,看到這個就證明安裝成功了。
- 安裝mockjs,同上,輸入
npm install mockjs --save-dev
。
引入外掛
上邊安裝的外掛,我們把他們引入專案,讓所有的元件都能呼叫,也就是所謂的全域性引入,開啟src下的main.js,引入element。是不是so easy。
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)
複製程式碼
專案規劃
準備工作終於完成了,馬上就要開始寫程式碼了,是不是有點小激動,稍安勿躁,首先我們得把vue的那個歡迎頁面給他改造一下,大家先開啟src下的App.vue,它是用來存放我們所有的頁面元件的,也就是首頁。其中<router-view/>
其實是一種簡寫,傳統寫法是<router-view></router-view>
,明白了吧,它就是個標籤。只不過這樣寫可以讓我們的程式碼看起來比較高階,別別打我。。這個標籤放的是我們的路由頁面,比如說我們在路由裡註冊了一個元件,當路由到相應的元件時,這個標籤裡就對映對應的元件。
//App.vue
<template>
<div id="app">
<img src="./assets/logo.png">
<router-view/>
</div>
</template>
<script>
export default {
name: 'App'
}
</script>
<style>
...
</style>
複製程式碼
上邊的img標籤,也就是vue歡迎頁面的那個大log,把它刪掉就行。但是你會發現這個App.vue裡並沒有歡迎頁上那一大堆亂碼啊。它們是怎麼顯示出來的呢?請開啟src下的components下的HelloWorld.vue,看到了吧在這裡,那這個元件又是怎麼變成首頁的呢,繼續開啟src下的router下的index.js,註釋:import HelloWorld from '@/components/HelloWorld'
這一段有兩個地方注意,那個‘@’是什麼鬼?,如果你感興趣的話可以開啟webpack.base.conf.js
裡的alias
,不感興趣的話請略過,總之這個@,指的是我們的src目錄,翻譯過來就是import HelloWorld from '../components/HelloWorld
,當我們的目錄層級很深的話,就不用一直../了,有木有很方便。第二點需要注意的是,引入某個元件的時候,我們可以省略字尾.vue,反正能偷懶就偷懶。path: '/'
裡的斜槓,就代表首頁,如果我們改成path: 'test'
,那麼你的位址列裡就是對應的http://localhost:8080/#/test,懂了嗎?
//index.js
import Vue from 'vue' //引入vue
import Router from 'vue-router' //引入路由
import HelloWorld from '@/components/HelloWorld' //引入HelloWorld.vue元件
Vue.use(Router)
export default new Router({
routes: [
{
path: '/', //路由的路徑
name: 'HelloWorld', //路由名稱
component: HelloWorld //對應的元件
}
]
})
複製程式碼
結語
手累了,先寫到這裡,大家自己消化一下,預知下事如何,且聽下回分解。我會盡快更新下一章哦。