前端 | vue.js系列教程3

原創(chuàng)文章愿待,轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自技術(shù)哥

微信訂閱號(hào):技術(shù)哥


技術(shù)哥

給你不一樣的世界


image

在上一期的vue教程我們搭建好了vscode的開發(fā)環(huán)境后铜秆,寫下第一行代碼"Hello World!"椎例,大家有沒有好奇為什么這行代碼要寫在HelloWorld.vue呢?今天就為大家講解下vue工程目錄、webpack模板祥得、入口文件到目標(biāo)組件


一. webpack工程模板

我們起初是通過行命令生成vue工程的
vue init webpack my-project

在新建工程時(shí)它也會(huì)詢問我們一些關(guān)于我們要工程的問題,這里給大家詳解一下

image
  • project name:工程名

  • project description:工程描述

  • author:作者姓名

  • vue build:有standalone與runtime-only build兩種蒋得,分別為獨(dú)立構(gòu)建和運(yùn)行時(shí)構(gòu)建级及。后者刪除了模板編譯的功能,因此無法支持帶 template 屬性的 Vue 實(shí)例選項(xiàng)窄锅。具體vue官網(wǎng)有詳解:https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only

  • install vue-router:vue-router路由組件创千。選上會(huì)安裝并默認(rèn)配置一個(gè)寫好的vue-router模板

image
  • Use eslint to lint your code:用eslint規(guī)范你的代碼。eslint是vue的一個(gè)語法規(guī)則和代碼風(fēng)格的檢查工具入偷,但其可能會(huì)給代碼語法做太多約束追驴,建議關(guān)閉

  • Set up unit tests:建立單元測(cè)試模塊。單元測(cè)試一般用來封裝大型公共組件時(shí)用的,一般不需要

  • setup e2e tests with Nightwatch:通過Nightwatch建立端對(duì)端單元測(cè)試疏之,一般不需要

  • should we run 'npm install' for you after the project has been created:新建工程后殿雪,后續(xù)通過什么來安裝其他依賴,有npm锋爪、yarn丙曙、none選項(xiàng)爸业,選npm

Webpack工程模板建立完成,但webpack在vue里扮演什么角色亏镰,怎么去配置它呢扯旷?

image
  • 是什么:如上圖所描述的,webpack就是可以把vue工程整合打包索抓,方便vue組件化钧忽。我們通過代碼 npm run dev默認(rèn)在本機(jī)8080端口打開瀏覽器調(diào)試也是webpack打包的結(jié)果

  • 如何配置:可以進(jìn)入到工程目錄下build/webpack.base.conf.js里進(jìn)行修改,如alias項(xiàng)配置入口位置逼肯,rules配置是否引用eslint等耸黑。

二. 工程目錄

image
  • build:webpack目錄

  • config:webpack目錄2

  • node_modules:npm代碼倉(cāng)庫(kù)

  • Src:根目錄

  • Src/assets:圖片音頻資源文件夾

  • src/components:.vue組件存放位置

  • src/router:vue-router配置文件夾

  • src/App.vue:工程根組件

  • src/main.js:工程入口文件

  • Static:靜態(tài)資源目錄

  • package.json:項(xiàng)目配置文件

  • index.html:首頁(yè)入口文件

上述基本上就是我們?cè)诰庉媣ue工程時(shí)需要改動(dòng)的文件了。然后我們來打開HelloWorld.vue看看其結(jié)構(gòu)

image
  • <template>:html模板篮幢。最外層只允許有一個(gè) <div>

  • <script>:js模板大刊。name為唯一標(biāo)識(shí)符,data內(nèi)為.vue文件下的成員變量三椿,methods為.vue文件下的成員方法

  • <style>:css模板缺菌。加上"scoped"屬性后,其下內(nèi)容不對(duì)其他.vue組件產(chǎn)生影響

因此赋续,對(duì)應(yīng)的標(biāo)簽內(nèi)寫對(duì)應(yīng)內(nèi)容就是.vue的格式規(guī)范男翰,也是一大特色

三. 從入口文件到目標(biāo)組件

我們可能會(huì)奇怪為什么上次的"HelloWorld"寫在HelloWorld.vue的template標(biāo)簽下在打開瀏覽器調(diào)試的時(shí)候會(huì)顯示出來。其實(shí)整個(gè)工程時(shí)遵循這個(gè)路線來"找到"我們的組件并使它起作用的:

"路由":從一個(gè)組件到另一個(gè)組件的過程稱為路由纽乱,也可以理解成從一個(gè)頁(yè)面到另一個(gè)頁(yè)面

我們從main.js入口文件開始:

image
  • 通過 import[模塊名]from[相對(duì)路徑]引入"vue"總模塊蛾绎、"App"根組件和"router"路由配置文件
  • newVue()實(shí)例化vue總模塊
  • el:'#app'掛載App.vue根組件樣式
  • Router在總模塊Vue里加入上面通過"import"引入依賴的路由配置文件
  • component:{App}同理在總模塊Vue里引入App.vue根組件
  • template:<App/>引入App.vue模板

入口文件在這里首先匹配的是App.vue,因此工程在啟動(dòng)的時(shí)候首先路由到App.vue鸦列。然后我們進(jìn)入App.vue文件看看

image

<template>里放了一個(gè) <router-view/>標(biāo)簽租冠,表示引用并顯示router下的配置路由,根組件默認(rèn)為第一個(gè)路由

<style>里放了id為"app"的css樣式

注:如果新建工程的時(shí)候沒有安裝vue-router,在工程目錄下是沒有router文件夾的薯嗤,這里的 <router-view/>是直接變成 <HelloWorld/>顽爹,直接路由到HelloWorld.vue組件

然后我們?cè)龠M(jìn)入router/index.js

image
  • 通過"import...form..."引入**vue總模塊、vue-router模塊骆姐、HelloWorld組件
    **

  • Vue.use(Router)使vue總模塊全局使用vue-router

  • exportdefalutnewRouter()實(shí)例化并輸出配置的router

  • routes[]配置路由镜粤,path為路徑,name為匹配組件的唯一標(biāo)識(shí)玻褪,component為匹配的組件

所以這里路由路徑為'/'肉渴,即為當(dāng)前路徑,而此路徑下又匹配了HelloWorld.vue這個(gè)組件带射。所以路由到了HelloWorld.vue同规。

綜上,從入口文件到目標(biāo)的整體流向?yàn)椋?/strong>

main.js--->App.vue--->router/index.js--->HelloWorld.vue

工程目錄、webpack模板券勺、從入口文件到目標(biāo)組件就是整個(gè)vue工程的宏觀圖景


往期回顧
如何使用CORS解決跨域問題
區(qū)塊鏈教程 | 快速入門
web前端 | vue.js系列教程2
web前端 | vue.js環(huán)境搭建
服務(wù)端 | 如何實(shí)現(xiàn)物聯(lián)網(wǎng)后臺(tái)
服務(wù)器 | 9.9元搭建服務(wù)器


關(guān)注“技術(shù)哥”的微信公眾號(hào)查看更多技術(shù)文章
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绪钥,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子关炼,更是在濱河造成了極大的恐慌程腹,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件儒拂,死亡現(xiàn)場(chǎng)離奇詭異跪楞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)侣灶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缕碎,“玉大人褥影,你說我怎么就攤上這事∮酱疲” “怎么了凡怎?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赊抖。 經(jīng)常有香客問我统倒,道長(zhǎng),這世上最難降的妖魔是什么氛雪? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任房匆,我火速辦了婚禮,結(jié)果婚禮上报亩,老公的妹妹穿的比我還像新娘浴鸿。我一直安慰自己,他們只是感情好弦追,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布岳链。 她就那樣靜靜地躺著,像睡著了一般劲件。 火紅的嫁衣襯著肌膚如雪掸哑。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天零远,我揣著相機(jī)與錄音苗分,去河邊找鬼。 笑死遍烦,一個(gè)胖子當(dāng)著我的面吹牛俭嘁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播服猪,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼供填,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼拐云!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起近她,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤叉瘩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后粘捎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體薇缅,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年攒磨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了泳桦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娩缰,死狀恐怖灸撰,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拼坎,我是刑警寧澤浮毯,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站泰鸡,受9級(jí)特大地震影響债蓝,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盛龄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一饰迹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧讯嫂,春花似錦蹦锋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至千扔,卻和暖如春憎妙,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背曲楚。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工厘唾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人龙誊。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓抚垃,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鹤树,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1 Webpack 1.1 概念簡(jiǎn)介 1.1.1 WebPack是什么 1铣焊、一個(gè)打包工具 2、一個(gè)模塊加載工具 3...
    Kevin_Junbaozi閱讀 6,673評(píng)論 0 16
  • 最近一個(gè)詞很熱:底層智慧罕伯、底層知識(shí) 李嘉誠(chéng)說房地產(chǎn)的關(guān)鍵詞有三個(gè)關(guān)鍵詞:地段曲伊、地段、地段追他。 從實(shí)務(wù)的角度上說坟募,法律...
    子非魚1843閱讀 405評(píng)論 2 0
  • 其實(shí)我的心里很清楚的一點(diǎn)是,要想擺脫當(dāng)下的困境最好的辦法就是做出改變邑狸,可是很多時(shí)候確實(shí)心里想改變懈糯,但是行動(dòng)上卻是從...
    木頭馬尾的木馬閱讀 360評(píng)論 0 0
  • 太陽(yáng)用溫暖的掃帚 掃除了冬的足跡 東風(fēng)悄悄掀開簾幕 春雨于是打開了蓮蓬 長(zhǎng)長(zhǎng)的柳絲著好了新裝 呼喚著云中斜穿的燕子...
    眉間飛雪閱讀 307評(píng)論 20 19
  • 星期一 天氣晴 周一昂利,新的開始,早早的起來铁坎,看著時(shí)間沖向?qū)W校,兒子上學(xué)的路途就這樣開始著犁苏,我今天約好客戶硬萍,有要事要...
    李文秀_6685閱讀 136評(píng)論 0 0