第二十九節(jié):Vue Cli: Vue腳手架


前言:關(guān)于Vue CLI版本介紹

關(guān)于舊版本

Vue CLI 的包名稱由 vue-cli 改成了 @vue/cli。 如果你已經(jīng)全局安裝了舊版本的 vue-cli (1.x 或 2.x)桑阶,你需要先通過 npm uninstall vue-cli -gyarn global remove vue-cli 卸載它畅涂。

Node 版本要求

Vue CLI 需要 Node.js 8.9 或更高版本 (推薦 8.11.0+)港华。你可以使用 nvmnvm-windows 在同一臺(tái)電腦中管理多個(gè) Node 版本。


1. Vue CLI的了解

Vue CLI 是一個(gè)基于 Vue.js 進(jìn)行快速開發(fā)的完整系統(tǒng).


1.1 Vue CLI 說明
  1. CLI 全稱就是 Command-Line Interface, 翻譯為命令行界面,俗稱腳手架

  2. Vue CLI就是一個(gè)官網(wǎng)發(fā)布的vue.js項(xiàng)目的腳手

  3. 使用vue-cli可以幫我們快速的搭建Vue開發(fā)環(huán)境以及對(duì)應(yīng)的webpack配置

用現(xiàn)實(shí)生活中的例子:

比如你要蓋一棟大樓,大樓外側(cè)的腳手架是必須要搭建的, 每一棟大樓都需要這些腳手架,這些腳手架如果每一次都需要一點(diǎn)一點(diǎn)搭建的話就會(huì)非常繁瑣和耗時(shí),如果,有人提前幫你把這些必要的腳手架搭建好了,你只需要注重點(diǎn)關(guān)注在大樓建設(shè)上就可以了

同樣的,我們開發(fā)vue項(xiàng)目,需要一些諸如webpack這樣的配置,如果每次都要自己從頭處理就很繁瑣,那么官方就幫我們把這些必要的配置好,生成了腳手架模板, 我們直接拿過來使用,這就是腳手架,在腳手架上直接搭建自己的項(xiàng)目,如果發(fā)現(xiàn)腳手架有些不能滿足我們的需要,也可以自己手動(dòng)修改腳手架配置

一言以蔽之: 腳手架就是搭建項(xiàng)目的基礎(chǔ)模板


1.2 什么時(shí)候需要用到腳手架

如果你的項(xiàng)目比較簡單,就是一些基本的將數(shù)據(jù)渲染到頁面上,那么你不要Vue CLI腳手架

只有當(dāng)你開發(fā)大型項(xiàng)目時(shí),就必須要用到Vue CLI腳手架了

因?yàn)榇笮晚?xiàng)目需要考慮代碼目錄結(jié)構(gòu),項(xiàng)目結(jié)構(gòu),部署以及熱更新等很多瑣碎的事情,那么這些事情都交給腳手架來配置好, 我們直接使用腳手架就可以了


2. 安裝vue CLI

注意在安裝Vue CLI是一定要提前安裝node.


2.1 安裝 Vue CLi

可以使用下列任一命令全局安裝最新的CLI:

npm install -g @vue/cli
# or
yarn global add @vue/cli

安裝之后午衰,你就可以在命令行中訪問 vue 命令立宜。你可以通過簡單運(yùn)行 vue,看看是否展示出了一份所有可用命令的幫助信息臊岸,來驗(yàn)證它是否安裝成功橙数。
當(dāng)然也可以通過版本好來驗(yàn)證是否安裝成功


2.2 查看版本號(hào)命令

使用下面命令打印版本號(hào).

> vue --version
> # or 簡寫
> vue -V

如果可以正常打印版本號(hào)說明vue CLI 腳手架安裝成功,

同時(shí)我們也可以通過版本號(hào)來確定是不是你需要安裝的版本

查看vuecli版本號(hào)_圖1.png

最新的vue CLI版本已經(jīng)是4.3.1了


2.3 使用CLI項(xiàng)目模板

注意Vue CLI 3.X 和4.X的腳手架的模板和Vue CLI2.X 完全不同,

如果你還想使用Vue CLI2.X的腳手架模板,就需要參考官網(wǎng)給出的處理方案

官網(wǎng)關(guān)于使用 2.X 模板的方法

官網(wǎng)使用cli2的方式_圖2.png

至此Vue CLI的安裝就已經(jīng)完成了, 那么接下來就讓我們好好看看CLI2.X的項(xiàng)目模板和CLI3.X項(xiàng)目模板


3. 創(chuàng)建Vue CLI 2的項(xiàng)目

3.1 初始化化Vue CLI2項(xiàng)目

使用下面的命令初始化vue CLI2的項(xiàng)目

$ vue init webpack myvue

初始化項(xiàng)目cli2項(xiàng)目圖

通過cli2模板創(chuàng)建項(xiàng)目_圖3.png


3.2 運(yùn)行項(xiàng)目

通過上面命令創(chuàng)建項(xiàng)目成功以后,

進(jìn)入到項(xiàng)目里,然后通過npm run dev運(yùn)行項(xiàng)目

其實(shí)在初始化Vue CLI2項(xiàng)目成功以后也會(huì)給我們對(duì)應(yīng)的提示

安裝成功后提示:

啟動(dòng)項(xiàng)目_圖4.png

因此我們可以通過命令運(yùn)行我們項(xiàng)目

運(yùn)行項(xiàng)目_圖5.png

編譯成功以后,會(huì)提示:你的項(xiàng)目運(yùn)行在http://localhost:8080地址

這樣我們就可以在瀏覽器地址欄輸入地址運(yùn)行項(xiàng)目

項(xiàng)目運(yùn)行成功_圖6.png


3.3 項(xiàng)目目錄

項(xiàng)目已經(jīng)成功啟動(dòng),那么接下來我們就來好好看看項(xiàng)目模板的目錄結(jié)構(gòu)

cli2項(xiàng)目模板目錄_圖7.png



4. Vue CLI3

4.1 CLI3 和 CLI2 版本的區(qū)別
  1. cli3 是基于webpack4開發(fā)的,cli2是還是基于webpack3開發(fā)的
  2. cli3 的設(shè)計(jì)原則是'0配置',移除了根目錄下build和config的webpack 配置文件目錄
  3. cli3 提供了vue ui命令,提供可視化配置,更加人性化
  4. 移出了static 文件夾,增加了 public文件夾,并且將index.html移動(dòng)到public目錄中


4.2 CLI3的安裝命令

通過下面的命令初始化Vue CLI3的工程項(xiàng)目

$ vue create myproject


4.3 CLI3初始化項(xiàng)目中的配置介紹
4.3.1 選擇配置方式

可以使用默認(rèn)的配置,也可以自己配置需要安裝的內(nèi)容

自己配置后還可以保存,下次在初始化項(xiàng)目時(shí)就可以使用上一次配置

選擇配置方式_圖8.png


4.3.2 自定義配置

自定義配置項(xiàng)目,選擇自己要安裝的配置來初始化項(xiàng)目

自定義配置項(xiàng)選擇_圖9.png


4.3.3 配置保存選擇

配置選擇完畢后,會(huì)詢問你是將配置單獨(dú)生成文件,還是追加到package.json 文件中

建議使用單獨(dú)配置文件,這樣會(huì)比較方便修改配置

配置項(xiàng)位置的選擇_圖10.png


4.3.4 是否保存配置

是否將本次初始化項(xiàng)目的配置保存起來,以便下次初始化項(xiàng)目時(shí)直接使用

保存配置_圖11.png


4.3.5 給保存的配置命名

如果選擇保存本次配置,就給配置命名

保存配置確定名稱_圖12.png


4.3.6 初始化完成

當(dāng)項(xiàng)目配置初始化完畢后,提示你進(jìn)入項(xiàng)目,并且告知啟動(dòng)項(xiàng)目的終端命令

安裝成功_圖13.png


4.3.7 有保存配置的初始化項(xiàng)目

如果之前有保存過配置,那么在你初始化項(xiàng)目的時(shí)候,就會(huì)讓你自己選擇,

可以使用默認(rèn)配置,或者自定義配置,也可以使用上一次保存的自定義配置

保存配置_圖14.png


4.3.8 項(xiàng)目重名

項(xiàng)目重名就會(huì)提示,

有三種選擇: 覆蓋原來的項(xiàng)目, 與原理的項(xiàng)目合并,或者取消本次初始化項(xiàng)目

項(xiàng)目重名_圖15.png


4.3.9 啟動(dòng)項(xiàng)目

通過yarn serve命令啟動(dòng)項(xiàng)目

啟動(dòng)項(xiàng)目_圖16.png


4.4 CLI3工程項(xiàng)目目錄
cli3項(xiàng)目目錄_圖17.png

我們會(huì)發(fā)現(xiàn)CLI3的項(xiàng)目目錄中看不到webpack的配置


5. CLI3 的配置

默認(rèn)在CLI3的項(xiàng)目目錄中是看不到配置文件的,那么有的時(shí)候我們需要修改配置文件怎么辦呢,

接下來就看看如何修改配置


5.1 通過可視化界面修改配置

CLI3中提供了一個(gè)可視化操作,終端命令為vue ui

啟動(dòng)可視化操作界面

$ vue ui

在可視化界面中找到配置,

可視化界面修改配置_圖18.png

然后就可以在這里就改項(xiàng)目配置為了


5.2 在項(xiàng)目中修改配置

在根文件下創(chuàng)建vue.config.js文件, 就可以在這個(gè)文件中定義需要修改的配置

cli3會(huì)自動(dòng)將vue.config.js文件中的配置和默認(rèn)的配置進(jìn)行合并


例如:配置示例:

module.exports = {
    baseUrl: "/" , //根路徑
    outputDir : "dist", //構(gòu)建輸出目錄 帅戒,在npm run build 打包生成的文件夾的名字
    assetsDir: "assets", //靜態(tài)資源目錄(js,css,img)
    lintOnSave : false, // 是否開啟eslint保存檢測(cè)灯帮,true | false | error  默認(rèn)使用false 不打開
    devServer: {
        open: false,    // npm run server 運(yùn)行時(shí)是否自動(dòng)在瀏覽器中打開
        host: "localehost",  //主機(jī)名字
        prot: 8080,    //端口號(hào) 默認(rèn)時(shí)8080
        https: false逻住, //是否啟用https協(xié)議钟哥,最好不使用 默認(rèn)使用http協(xié)議
        hotOnly: false, //熱更新,就用false
    
        //重點(diǎn)時(shí)這里跨域
        proxy: {
            '/api': {
                target: "http://localhost:5000/api/",
                ws: true,
                changOrigin: true,
                pathRewrite: { 
                    "^/api": ""
                }
            }
        }瞎访,
        
        //before 在所有的其他中間件之前腻贰,提供自定義中間件功能,這可以用來配置自定義處理程序
        before(app) {
            app.get("/api/goods",(req,res) => {
                res.json(goods);
            })
        }
    }
    
}


6. 單文件組件測(cè)試

我們可以通過一個(gè)全局的包對(duì)于一些特定的.vue文件(也就是單文件組件)進(jìn)行單獨(dú)的測(cè)試

6.1 安裝全局的cli-service
$ npm install -g @vue/cli-service-global
6.2.獨(dú)立運(yùn)行vue文件
//vue serve vue文件
vue serve hello.vue

這樣就可以單獨(dú)測(cè)試某些組件了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末扒秸,一起剝皮案震驚了整個(gè)濱河市播演,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鸦采,老刑警劉巖宾巍,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異渔伯,居然都是意外死亡顶霞,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門锣吼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來选浑,“玉大人,你說我怎么就攤上這事玄叠」磐剑” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵读恃,是天一觀的道長隧膘。 經(jīng)常有香客問我代态,道長,這世上最難降的妖魔是什么疹吃? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任蹦疑,我火速辦了婚禮,結(jié)果婚禮上萨驶,老公的妹妹穿的比我還像新娘歉摧。我一直安慰自己,他們只是感情好腔呜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布叁温。 她就那樣靜靜地躺著,像睡著了一般核畴。 火紅的嫁衣襯著肌膚如雪膝但。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天谤草,我揣著相機(jī)與錄音锰镀,去河邊找鬼。 笑死咖刃,一個(gè)胖子當(dāng)著我的面吹牛泳炉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播嚎杨,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼花鹅,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了枫浙?” 一聲冷哼從身側(cè)響起刨肃,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎箩帚,沒想到半個(gè)月后真友,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡紧帕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年盔然,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片是嗜。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡愈案,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鹅搪,到底是詐尸還是另有隱情站绪,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布丽柿,位于F島的核電站恢准,受9級(jí)特大地震影響魂挂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜馁筐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一锰蓬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧眯漩,春花似錦、人聲如沸麻顶。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辅肾。三九已至队萤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矫钓,已是汗流浹背要尔。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留新娜,地道東北人赵辕。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像概龄,于是被迫代替她去往敵國和親还惠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353