vue項(xiàng)目目錄及主要文件的初步分析-創(chuàng)新互聯(lián)

今天開(kāi)始學(xué)習(xí)vue的基本用法,用npm install -g @vue/cli后成功把@vue文件夾安裝到了npm文件夾的同級(jí)目錄下,然后發(fā)現(xiàn)node的目錄下--即npm命令腳本目錄下添加了一個(gè)vue命令腳本(意外發(fā)現(xiàn)當(dāng)初安裝express框架的時(shí)候也出現(xiàn)了這個(gè)情況)。由于改目錄已經(jīng)添加到系統(tǒng)路徑里,所以vue命令也可以跟npm一樣直接使用了~。
然后可以用vue create my-project在命令行當(dāng)前目錄下新建一個(gè)vue項(xiàng)目。
vue項(xiàng)目目錄及主要文件的初步分析
現(xiàn)在已經(jīng)成功創(chuàng)建了一個(gè)vue項(xiàng)目,它的目錄如下:
vue項(xiàng)目目錄及主要文件的初步分析
可以看到主要有三個(gè)下級(jí)目錄:node_modules、public 和 src。首先node_modules存放的是該項(xiàng)目所需要的node模塊;public里存放靜態(tài)文件,這里有了網(wǎng)頁(yè)的小圖標(biāo)favicon.ico和應(yīng)用的主頁(yè)index.html。vue項(xiàng)目目錄及主要文件的初步分析
在如上的index.html里,只有兩個(gè)東西我們可能不熟悉,一個(gè)是noscript,看里頭的文字描述,它因該是當(dāng)用戶的瀏覽器沒(méi)有啟用javascript時(shí),瀏覽器自動(dòng)顯示noscript里的文字,如果瀏覽器開(kāi)啟了javascript,那么這段文字不顯示。另一個(gè)id為app的div無(wú)疑是最重要的部分,看來(lái)vue的所有的內(nèi)容都應(yīng)該被包含在這個(gè)div里面。
vue項(xiàng)目目錄及主要文件的初步分析
assets里面就是一張圖片,沒(méi)有什么奇怪的,看來(lái)重頭戲就在helloWorld.vue和App.vue里面了。先來(lái)看App.vue
vue項(xiàng)目目錄及主要文件的初步分析
包含三個(gè)部分:template,javascript和css。template里頭的內(nèi)容顯然是描述頁(yè)面結(jié)構(gòu)的,里面有一張圖片和一個(gè)名為HelloWorld的標(biāo)簽,然后我們又可以看到components文件夾下正好有一個(gè)HelloWorld.vue,那么我們是否可以認(rèn)為凡是在components里定義的XXX.vue文件,我們可以在其他地方用<XXX/>來(lái)使用它呢?這個(gè)暫且打一個(gè)問(wèn)號(hào),我們來(lái)看下面的:import HelloWorld from ‘./components/HelloWorld.vue’
這句話從字面意思上來(lái)看顯然是引入HelloWorld.vue這個(gè)東西,把它賦給,或者說(shuō)命名為HelloWorld,然后在這里可以使用HelloWorld。這句話一定程度上證實(shí)了上面我的看法,然后我修改import HelloWorld為helloworld,刷新頁(yè)面后得到如下錯(cuò)誤:
vue項(xiàng)目目錄及主要文件的初步分析
HelloWorld沒(méi)有被定義,如此看來(lái)import 后跟XX,上面的標(biāo)簽就要是XX,這兩個(gè)是一個(gè)東西。但是當(dāng)我把標(biāo)簽改為helloWorld,和import后面跟著的名字一樣的時(shí)候,還是報(bào)錯(cuò),依然說(shuō)HelloWorld is not defined。這時(shí)將目光移到下面
vue項(xiàng)目目錄及主要文件的初步分析
import下面有一個(gè)export的對(duì)象,它應(yīng)是起到導(dǎo)出作用,那么導(dǎo)出到哪里呢,把什么東西到處去呢?default對(duì)象里有一個(gè)name屬性,值為‘a(chǎn)pp‘,那么這個(gè)app剛好是作為index.html里唯一的div的id使用的,也就是說(shuō)這一整個(gè)template被命名為app傳給index.html使用。再又可以看到,name下面還有components名為Helloworld,整個(gè)頁(yè)面也就這里有HelloWorld了,把它變?yōu)閔elloWorld后vue應(yīng)用又正常了,不再報(bào)錯(cuò),那么我可以下結(jié)論了,對(duì)于一個(gè)vue文件來(lái)說(shuō),每當(dāng)我們?cè)趖emplate里使用另外一個(gè)vue文件里內(nèi)容的時(shí)候,需要1:import 這個(gè)vue文件,取名為XXX,2:在template里使用時(shí)名字也要是XXX,最后把本vue文件給別人使用時(shí)要導(dǎo)出去,而且要在components里聲明XXX。這三處要一致,三位一體。
最后的style沒(méi)有特別之處,我們?cè)賮?lái)看HelloWorld.vue:
vue項(xiàng)目目錄及主要文件的初步分析
我們先將目光移到script里,我們可以看到name是‘HelloWorld’,這個(gè)HelloWorld不知作用在哪里,暫且先打一個(gè)問(wèn)號(hào),因?yàn)槭褂迷撐募臅r(shí)候,名字并不一定要是HelloWorld。但是不管怎么說(shuō),都保持一致總是沒(méi)錯(cuò)的。
接下來(lái)引人注目的是一個(gè)props對(duì)象,里頭有一個(gè)msg:String??雌饋?lái)是對(duì)一個(gè)變量msg聲明類(lèi)型為String。我查閱了props這個(gè)單詞,是支柱、支持者的意思,那么它支持了哪里呢?
可以看到頁(yè)面頭部有一個(gè){{msg}},用雙花括號(hào)包括了,顯然這里不是直接顯示msg這是三個(gè)字母,這個(gè)msg是一個(gè)變量,類(lèi)型為String,那么這個(gè)變量的值是什么呢?在這個(gè)HelloWorld文件里我們找不到答案。我們回過(guò)頭去找App.vue
vue項(xiàng)目目錄及主要文件的初步分析
發(fā)現(xiàn)helloworld里面有一個(gè)msg,值為字符串,瀏覽器頁(yè)面里也確實(shí)顯示了這個(gè)字符串,那么也就是說(shuō),在一個(gè)vue文件的props里聲明變量XXX為某一個(gè)數(shù)據(jù)類(lèi)型,然后就可以在template里使用這個(gè)變量了,變量的具體值由使用這個(gè)vue文件的另一個(gè)父template里確定,只需要在子template構(gòu)成的標(biāo)簽上,這里是helloWorld,加上XXX=......即可(數(shù)據(jù)類(lèi)型要符合定義)。
最后還有一個(gè)main.js,從名字上來(lái)說(shuō)這個(gè)js文件是構(gòu)建整個(gè)vue應(yīng)用的入口。
vue項(xiàng)目目錄及主要文件的初步分析
它以兩句import為開(kāi)頭,import APP很好理解,因?yàn)閺慕Y(jié)構(gòu)上看app.vue應(yīng)當(dāng)是囊括了整個(gè)vue應(yīng)用的主體內(nèi)容的,它里頭又import了各種各樣的下級(jí)vue文件。所以可以把a(bǔ)pp.vue抽象看做整個(gè)應(yīng)用的內(nèi)容,即body部分。而import Vue呢?因?yàn)槟夸浵乱谎劭床坏絍ue,所以我們把目光投向node_modules,果然再里面發(fā)現(xiàn)了Vue文件夾。
下一句是給Vue的一項(xiàng)屬性設(shè)置為false,我暫且不管它。最后從語(yǔ)法上是new 了一個(gè)Vue對(duì)象,參數(shù)是一個(gè)函數(shù),然后給對(duì)象掛載‘#app’。在里面看到了render一詞,它表示渲染,是否可以認(rèn)為把App里的內(nèi)容渲染到某一個(gè)地方呢?而后面‘#app’明顯是一個(gè)id選擇器,類(lèi)似jquery的語(yǔ)法,index.html里正好有一個(gè)id為App的div。
我可以想象,這個(gè)new語(yǔ)句應(yīng)該當(dāng)是把指向頁(yè)面內(nèi)容的App對(duì)象在Vue的構(gòu)造函數(shù)里做了某種處理,應(yīng)當(dāng)是將其轉(zhuǎn)化為正常的html代碼,得到可以被瀏覽器直接解析的內(nèi)容,然后把這些內(nèi)容掛載到index.html里的id為app的div里
vue項(xiàng)目目錄及主要文件的初步分析
檢查瀏覽器得到這樣的內(nèi)容,id為app的div依然在,而里面的內(nèi)容都是正常的html元素,可以認(rèn)為$mount就是把內(nèi)容全部放在id為app的div里面。
由此,整個(gè)vue項(xiàng)目目錄的主要文件都簡(jiǎn)要做了初步的分析,更深入的分析留到后面,讓我們利用現(xiàn)有的知識(shí)以及一些猜想從此刻開(kāi)始就構(gòu)建屬于自己的vue項(xiàng)目吧,just do it!

在平頂山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需制作網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),營(yíng)銷(xiāo)型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè)公司,平頂山網(wǎng)站建設(shè)費(fèi)用合理。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

當(dāng)前文章:vue項(xiàng)目目錄及主要文件的初步分析-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://www.muchs.cn/article8/dhcgip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)外貿(mào)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、虛擬主機(jī)微信小程序、全網(wǎng)營(yíng)銷(xiāo)推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作