溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

一文教你正確的使用Vue框架

發(fā)布時(shí)間:2020-11-19 14:44:57 來(lái)源:億速云 閱讀:522 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

一文教你正確的使用Vue框架?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

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)目信息,可以一直回車(chē)使用默認(rèn)配置,然后等待項(xiàng)目創(chuàng)建完成。

注:輸入vue init webpack my-project后,不要切換窗口,一直回車(chē),就可以創(chuàng)建成了,如果切換窗口了,切換回當(dāng)前cmd窗口后,回車(chē)有時(shí)候無(wú)法直接輸入,需要操作下才能輸入,比如先按一下個(gè)上下左右鍵。

項(xiàng)目創(chuàng)建完成后,得到如下界面內(nèi)容。

一文教你正確的使用Vue框架

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

一文教你正確的使用Vue框架

然后我們?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,得到窗體如下:

一文教你正確的使用Vue框架

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

一文教你正確的使用Vue框架

注:vue自帶了一個(gè)類(lèi)似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)如下圖:

一文教你正確的使用Vue框架

結(jié)構(gòu)描述如下表:

文件夾/文件描述
build項(xiàng)目構(gòu)建(webpack)相關(guān)代碼
config配置目錄,包括端口號(hào)等。我們初學(xué)可以使用默認(rèn)的。
node_modulesnpm 加載的項(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è)面。類(lèi)似于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)目的入口,類(lèi)似其他語(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類(lèi)似其他語(yǔ)言的引入命名空間或引入包,這里主要是用于引入js文件和vue文件。

如果引入的是js文件,則鼠標(biāo)放到引用上,會(huì)顯示具體引用路徑,如下圖:

一文教你正確的使用Vue框架

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類(lèi)型的對(duì)象,這個(gè)對(duì)象是vue-router中定義的,用于定義頁(yè)面跳轉(zhuǎn)路由,這里定義了路徑HelloWorld對(duì)應(yīng)導(dǎo)入/components/HelloWorld.vue文件。

ps:export類(lèi)似于其他語(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">
 <h3>Kiba518</h3>
 <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)目

一文教你正確的使用Vue框架

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI