一篇超完整的Vue新手入門指導(dǎo)教程
前言
新建項(xiàng)目近些年前端開(kāi)發(fā)快速發(fā)展,現(xiàn)在學(xué)習(xí)前端已經(jīng)不像以前那樣僅僅學(xué)習(xí)一個(gè)語(yǔ)法就可以了,它已經(jīng)是一門編程技術(shù)了,它們有自己獨(dú)立的類似Main函數(shù)的入口,有像MVC一樣規(guī)范好的層次結(jié)構(gòu),有自己的開(kāi)發(fā)工具可以發(fā)布打包程序,甚至還可以獨(dú)立連接數(shù)據(jù)庫(kù),當(dāng)然了,優(yōu)點(diǎn)與缺點(diǎn)共存,不能向其他語(yǔ)言那樣斷點(diǎn)調(diào)試導(dǎo)致了,它的脈絡(luò)更難被捕捉,猶如遠(yuǎn)古時(shí)代的代碼開(kāi)發(fā)一樣,但它還是已經(jīng)可以稱為一門編程技術(shù)了,所以學(xué)習(xí)一門前端開(kāi)發(fā),已經(jīng)是一件非常有意義的事兒了。
首先安裝Nodejs,然后我們一起學(xué)習(xí)使用Vue。
Vue是一個(gè)前端框架,安裝了Nodejs后,可以使用Npm命令直接下載vue。
打開(kāi)cmd窗口,依次輸入如下命令:
npm i vue -g npm i vue-cli -g
注:輸入【npm i vue -g】下載vue時(shí),盡量使用-g,因?yàn)関ue的文件中有一些文件是可以vue開(kāi)頭的命令行的,因?yàn)?g是下載到環(huán)境變量配置的Path地址,所以如果下載到這里,那么vue開(kāi)頭的命令就可以在cmd窗口中直接使用了,不然還需要重新配置環(huán)境變量,添加當(dāng)前下載目錄。
下載完Vue后,我們新建一個(gè)文件夾,然后打開(kāi)CMD跳轉(zhuǎn)該目錄,如【cd/d F:\Nodejs2】,然后使用vue開(kāi)頭的命令創(chuàng)建一個(gè)項(xiàng)目,在cmd窗口輸入命令如下:
vue init webpack my-project
輸入完命令后,會(huì)提示我們配置項(xiàng)目信息,可以一直回車使用默認(rèn)配置,然后等待項(xiàng)目創(chuàng)建完成。
注:輸入vue init webpack my-project后,不要切換窗口,一直回車,就可以創(chuàng)建成了,如果切換窗口了,切換回當(dāng)前cmd窗口后,回車有時(shí)候無(wú)法直接輸入,需要操作下才能輸入,比如先按一下個(gè)上下左右鍵。
項(xiàng)目創(chuàng)建完成后,得到如下界面內(nèi)容。

項(xiàng)目創(chuàng)建完成,我們會(huì)在目錄下多了一個(gè)文件夾—my-project。

然后我們?cè)谕ㄟ^(guò)CMD命令在跳轉(zhuǎn)到項(xiàng)目目錄【cd/d F:\Nodejs2\my-project】,然后運(yùn)行npm install,進(jìn)行初始化。
npm install
最后,我們?cè)佥斎朊頽pm run dev,得到窗體如下:

然后打開(kāi)瀏覽器,輸入http://localhost:8080,vue項(xiàng)目運(yùn)行成功,如下圖:

注:vue自帶了一個(gè)類似server.js的配置,所以運(yùn)行npm run dev命令后,會(huì)啟動(dòng)一個(gè)服務(wù)器。
學(xué)習(xí)項(xiàng)目
剛剛安裝的VSCode需要禁用JS-CS-HTML Formatter插件,不然保存代碼時(shí)會(huì)自動(dòng)格式化了,然后html代碼全亂了通過(guò)VisualStudioCode將新建的項(xiàng)目打開(kāi)。
禁用方法:ctrl+shift+X調(diào)出擴(kuò)展,搜索JS-CS-HTML Formatter ,然后禁用,然后重啟。
新建項(xiàng)目結(jié)構(gòu)如下圖:

結(jié)構(gòu)描述如下表:
| 文件夾/文件 | 描述 |
| build | 項(xiàng)目構(gòu)建(webpack)相關(guān)代碼 |
| config | 配置目錄,包括端口號(hào)等。我們初學(xué)可以使用默認(rèn)的。 |
| node_modules | npm 加載的項(xiàng)目依賴模塊 |
| src | 這里是我們要開(kāi)發(fā)的目錄,基本上要做的事情都在這個(gè)目錄里。里面包含了幾個(gè)目錄及文件。 |
| static | 靜態(tài)資源目錄,如圖片、字體等。 |
| test | 初始測(cè)試目錄,可刪除 |
| .其他文件 | 這些是一些配置文件,包括語(yǔ)法配置,git配置等。 |
| index.html | 這是一個(gè)模板文件,同時(shí)又是Main.js的展示頁(yè)面,也可以理解為Index.html的ViewModel是Main.js,Main.js是項(xiàng)目啟動(dòng)的入口。項(xiàng)目啟動(dòng)時(shí)Main.js會(huì)讀取該頁(yè)面,然后把當(dāng)前顯示的vue文件渲染進(jìn)該頁(yè)面。類似于MVC中的layout.cshtml文件的作用。 |
| package.json | 項(xiàng)目配置文件。 |
| README.md | 項(xiàng)目的說(shuō)明文檔,markdown 格式 |
src核心
src是我們代碼編寫(xiě)的核心文件,其內(nèi)容如下:
assets: 放置一些圖片,如logo等。
components: 目錄里面放了一個(gè)組件文件,可以不用。
App.vue: 項(xiàng)目入口文件,我們也可以直接將組件寫(xiě)這里,而不使用components 目錄。
main.js: 項(xiàng)目的核心文件。
代碼詳解
Main.js是項(xiàng)目的入口,類似其他語(yǔ)言的Main函數(shù),代碼如下:Main.js
import Vue from 'vue'//引入vue.js文件
import App from './App'//引入當(dāng)前目錄下的App.vue文件,【./】指當(dāng)前目錄,【.vue】被隱藏了
import router from './router'//引入當(dāng)前目錄下router文件夾下的Index.js文件
Vue.config.productionTip = false//屏蔽調(diào)試時(shí)的一些console日志內(nèi)容
/* eslint-disable no-new */
new Vue({
el: '#app',
router,//指定路由的js對(duì)象
components: { App },//加載上方導(dǎo)入到組件。
template: '<App/>'//選擇一個(gè)組件去替換index.html 中的<div id="app"></div>。這里使用我們components導(dǎo)入的App組件,相當(dāng)于指定初始化時(shí)的顯示組件,Vue組件注冊(cè)后可以使用<tagName></tagName>的模式來(lái)使用組件。
})
import
import類似其他語(yǔ)言的引入命名空間或引入包,這里主要是用于引入js文件和vue文件。
如果引入的是js文件,則鼠標(biāo)放到引用上,會(huì)顯示具體引用路徑,如下圖:

new Vue
new Vue這一段是創(chuàng)建一個(gè)js的Vue對(duì)象,該對(duì)象的構(gòu)造函數(shù),接受一個(gè)對(duì)象,這里傳了一個(gè)匿名對(duì)象,我們可以看到,new Vue后的圓括號(hào)【(】里,跟了一對(duì)大括號(hào)【{】,然后這個(gè)對(duì)象里,有幾個(gè)屬性,需要初始化。
el:估計(jì)是element的縮寫(xiě),表示Vue綁定的元素。
router:router是我們上面引入的router文件夾下的Index.js文件,打開(kāi)文件,代碼如下:
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'HelloWorld',
component: HelloWorld
}
]
})
可以看到,代碼中開(kāi)放了一個(gè)默認(rèn)的Router類型的對(duì)象,這個(gè)對(duì)象是vue-router中定義的,用于定義頁(yè)面跳轉(zhuǎn)路由,這里定義了路徑HelloWorld對(duì)應(yīng)導(dǎo)入/components/HelloWorld.vue文件。
ps:export類似于其他語(yǔ)言的public,就是公開(kāi)該js文件的某個(gè)對(duì)象或函數(shù),export default就是默認(rèn)公開(kāi)的那一個(gè),這樣其他js文件使用import導(dǎo)入該js文件時(shí),就可以省略指定對(duì)象這幾個(gè)代碼,這種是一個(gè)很原始的程序設(shè)計(jì)風(fēng)格,大家還需要適應(yīng)。
App.Vue
App.Vue是Main.js默認(rèn)加載的模塊,其代碼如下:
<template>
<div id="app">
<h2>Kiba518</h2>
<router-view/>
</div>
</template>
<script>
export default {
name: 'App'
}
</script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
這里主要是用于配置路由視圖—— ,其他的樣式我們可以暫時(shí)忽略。
可以看到我們把路由視圖(router-view)配置在了一個(gè)div中,并且還放在了一個(gè)H2下面,這樣,我們的這個(gè)H2標(biāo)簽就永遠(yuǎn)會(huì)在路由視圖上面了。
運(yùn)行項(xiàng)目

我們對(duì)App.Vue和HelloWorld.vue進(jìn)行了簡(jiǎn)單修改,然后不用重啟,不用編譯,只需要重新切換回剛剛的那個(gè)網(wǎng)頁(yè)——http://localhost:8080。
如上圖所示,我們得到了修改頁(yè)面。
到此Vue的基本使用已經(jīng)介紹完了。
總結(jié)
到此這篇關(guān)于Vue入門指導(dǎo)的文章就介紹到這了,更多相關(guān)Vue入門指導(dǎo)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue的雙向數(shù)據(jù)綁定實(shí)現(xiàn)原理解析
這篇文章主要介紹了Vue的雙向數(shù)據(jù)綁定實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Vue實(shí)現(xiàn)導(dǎo)航欄點(diǎn)擊當(dāng)前標(biāo)簽變色功能
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)導(dǎo)航欄點(diǎn)擊當(dāng)前標(biāo)簽變色功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-05-05
vue-cli3使用mock數(shù)據(jù)的方法分析
這篇文章主要介紹了vue-cli3使用mock數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了vue-cli3使用mock數(shù)據(jù)的相關(guān)實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03
Vue瀏覽器鏈接與接口參數(shù)實(shí)現(xiàn)加密過(guò)程詳解
這篇文章主要介紹了Vue瀏覽器鏈接與接口參數(shù)實(shí)現(xiàn)加密過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2022-12-12
axios取消請(qǐng)求與避免重復(fù)請(qǐng)求
在項(xiàng)目中經(jīng)常有一些場(chǎng)景會(huì)連續(xù)發(fā)送多個(gè)請(qǐng)求,而異步會(huì)導(dǎo)致最后得到的結(jié)果不是我們想要的,并且對(duì)性能也有非常大的影響,這篇文章主要給大家介紹了關(guān)于axios取消請(qǐng)求與避免重復(fù)請(qǐng)求的相關(guān)資料,需要的朋友可以參考下2021-06-06
發(fā)布訂閱模式在vue中的實(shí)際運(yùn)用實(shí)例詳解
訂閱發(fā)布模式定義了一種一對(duì)多的依賴關(guān)系,讓多個(gè)訂閱者對(duì)象同時(shí)監(jiān)聽(tīng)某一個(gè)主題對(duì)象。這篇文章主要介紹了發(fā)布訂閱模式在vue中的實(shí)際運(yùn)用,需要的朋友可以參考下2019-06-06

