Web前端開(kāi)發(fā)之構(gòu)建Vue-cli3.0工程

**<font size=6>Web前端開(kāi)發(fā)之構(gòu)建Vue-cli3.0工程</font>**

# 參考資料

Standard Tooling for Vue.js Development

https://cli.vuejs.org/guide/

Vue-cli3.0

https://github.com/vuejs/vue-cli/tree/fb97646ee51d4fb9c95a01913377cdadf819b6cf(config start)?

以vue-cli為基礎(chǔ)畸冲,結(jié)合vue-router霎苗、vuex外傅、axios、iview組件庫(kù)搭建一個(gè)工程化前端demo?

https://github.com/Abiel1024/vue-project? ( 內(nèi)含配置環(huán)境變量和模式配置的例子)?

Environment Variables and Modes?

https://github.com/vuejs/vue-cli/blob/fb97646ee51d4fb9c95a01913377cdadf819b6cf/docs/guide/mode-and-env.md? (重點(diǎn)Environment Variables and Modes)

Vue-cli configulation reference?

https://github.com/vuejs/vue-cli/tree/fb97646ee51d4fb9c95a01913377cdadf819b6cf/docs/config#baseurl? (vue.config.js配置明細(xì))

Vue-cli3靜態(tài)資源和項(xiàng)目結(jié)構(gòu)?

https://segmentfault.com/a/1190000014456796?utm_source=index-hottest (vue-cli3.0默認(rèn)項(xiàng)目目錄與2.0的相比)

Webpack中文文檔?

https://www.webpackjs.com/concepts/ (科普Webpack)

@vue/cli-plugin-eslint?

https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint (@vue/cli-plugin-eslint 感覺(jué)eslint一直是個(gè)盲區(qū))

# 架構(gòu)

**基本架構(gòu)**?

vue-router?

vuex?

axios?

elementUI

**開(kāi)發(fā)輔助**?

mock?

# 工程

## 一、構(gòu)建工程?

### 創(chuàng)建工程

在您的workspace目錄中在刺,執(zhí)行如下命令贷岸,則創(chuàng)建一個(gè)Vue-cli3.0工程:?

npm create my-project?

####工程目錄結(jié)構(gòu)

新創(chuàng)建的工程目錄結(jié)構(gòu)如下:?

<Image>

### 啟動(dòng)工程

執(zhí)行如下命令啟動(dòng)Web服務(wù):?

cd my-project?

npm run serve?

```

DONE? Compiled successfully in 5167ms? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 09:26:17

? App running at:

? - Local:? http://localhost:8080/

? - Network: http://192.168.43.111:8080/

? Note that the development build is not optimized.

? To create a production build, run npm run build.

```

## 二、配置工程

通過(guò)npm create命令創(chuàng)建的工程只包含了最簡(jiǎn)單的代碼結(jié)構(gòu)嵌削,接下來(lái)要對(duì)整個(gè)開(kāi)發(fā)周期所需要的配置文件進(jìn)行添加和配置毛好。

### 1、配置環(huán)境變量?

在系統(tǒng)根目錄下增加以下配置文件:?

vue.config.js?

.env.development?

.env.production?

.env.stage?

#### vue.config.js文件?

說(shuō)明:vue.config.js是一個(gè)可選的配置文件苛秕,您可以在這個(gè)文件里配置系統(tǒng)環(huán)境變量及其基本變量肌访,如果它出現(xiàn)在項(xiàng)目根目錄中,就會(huì)被@vue/cli-service自動(dòng)加載想帅。如果不用vue.config.js文件场靴,則可以使用package.json的vue字段來(lái)配置,區(qū)別在package.json里需要使用josn格式的值港准。

vue.config.js的常用配置項(xiàng):?

baseUrl?

outputDir?

assetsDir?

pages?

devServer?

#### .env 環(huán)境變量文件?

.env*文件用來(lái)指定環(huán)境變量旨剥,分一般的環(huán)境變量文件和指定模式的環(huán)境變量文件;?

* 一般的環(huán)境變量文件?

.env文件是一般的環(huán)境變量文件,所有模式下都會(huì)被@vue/cli-service加載浅缸。

* 指定模式的環(huán)境變量文件?

帶有后綴的.env文件是指定模式的環(huán)境變量文件轨帜,其后綴名即模式名稱,比如:?

.env.production? 生產(chǎn)模式環(huán)境變量文件?

.env.development? 開(kāi)發(fā)模式環(huán)境變量文件?

.env.stage? 演示模式環(huán)境變量文件?

.env 所有模式都會(huì)加載的環(huán)境變量文件?

* 環(huán)境文件只包含環(huán)境變量的“鍵=值”對(duì)

* .env.*優(yōu)先度更高衩椒,.env.*會(huì)覆蓋.env中的同名變量

* @vue/cli-service會(huì)根據(jù)命令加載相應(yīng)的.env文件?

vue-cli-service build命令會(huì)加載.env, .env.production的環(huán)境變量蚌父;?

vue-cli-service run命令會(huì)加載.env, .env.development的環(huán)境變量;?

vue-cli-service build --mode stage命令會(huì)加載.env, .env.stage的環(huán)境變量毛萌。

* 被載入的變量將會(huì)對(duì) vue-cli-service 的所有命令苟弛、插件和依賴可用。

### 2阁将、在客戶端代碼中使用環(huán)境變量

在客戶端代碼中可以使用的環(huán)境變量有兩種:

* 兩個(gè)特殊變量:?

? - NODE_ENV?

會(huì)是 "development"膏秫、"production" 或 "stage" 中的一個(gè)。具體的值取決于應(yīng)用運(yùn)行的模式做盅。?

? - BASE_URL?

? ? 會(huì)和 vue.config.js 中的 baseUrl 選項(xiàng)相符缤削,即你的應(yīng)用會(huì)部署到的基礎(chǔ)路徑窘哈。

* VUE_APP_* 變量?

只有以 VUE_APP_ 開(kāi)頭的變量會(huì)被 webpack.DefinePlugin 靜態(tài)嵌入到客戶端的包中⊥じ遥可以在應(yīng)用的代碼中這樣訪問(wèn)它們:?

```

console.log> > (process.env.VUE_APP_TITILE)

```

* Html文件訪問(wèn)環(huán)境變量?

所有解析出來(lái)的環(huán)境變量都可以在 public/index.html 中以 HTML 插值中介紹的方式使用;?

插值訪問(wèn)方式:?

<%= VALUE %> 用來(lái)做不轉(zhuǎn)義插值;?

<%- VALUE %> 用來(lái)做 HTML 轉(zhuǎn)義插值滚婉;?

<% expression %> 用來(lái)描述 JavaScript 流程控制。?

例如:?

配置環(huán)境變量VUE_APP_TITILE做為系統(tǒng)頁(yè)面的title,index.html中可以這樣訪問(wèn)它:?

方式一:?

```

<!DOCTYPE html>

<html lang="en">

? <head>

? ? <meta charset="utf-8">

? ? <meta http-equiv="X-UA-Compatible" content="IE=edge">

? ? <meta name="viewport" content="width=device-width,initial-scale=1.0">

? ? <link rel="icon" href="<%= BASE_URL %>favicon.ico">

? ? <title><%= VUE_APP_TITILE%></title>

? </head>

? <body>

? .......

? </body>

</html>?

? ```

方式二:?

```

<!DOCTYPE html>

<html lang="en">

? <head>

? ? <meta charset="utf-8">

? ? <meta http-equiv="X-UA-Compatible" content="IE=edge">

? ? <meta name="viewport" content="width=device-width,initial-scale=1.0">

? ? <link rel="icon" href="<%= BASE_URL %>favicon.ico">

? ? <title><%- VUE_APP_TITILE%></title>

? </head>

? <body>

? .......

? </body>

</html>

```

### 3帅刀、處理靜態(tài)資源?

### 4让腹、使用mock數(shù)據(jù)?

https://www.css88.com/archives/10066?

https://www.jb51.net/article/141066.htm?

https://blog.csdn.net/github_39457740/article/details/81878121?

https://www.jb51.net/article/151305.htm (這種方式還是不起作用)?

## 三、開(kāi)發(fā)測(cè)試

## 四扣溺、打包

## 五哨鸭、部署

和后臺(tái)分離部署?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市娇妓,隨后出現(xiàn)的幾起案子像鸡,更是在濱河造成了極大的恐慌,老刑警劉巖哈恰,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件只估,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡着绷,警方通過(guò)查閱死者的電腦和手機(jī)蛔钙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)荠医,“玉大人吁脱,你說(shuō)我怎么就攤上這事”蛳颍” “怎么了兼贡?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)娃胆。 經(jīng)常有香客問(wèn)我遍希,道長(zhǎng),這世上最難降的妖魔是什么里烦? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任凿蒜,我火速辦了婚禮,結(jié)果婚禮上胁黑,老公的妹妹穿的比我還像新娘废封。我一直安慰自己,他們只是感情好丧蘸,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布漂洋。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪氮发。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天冗懦,我揣著相機(jī)與錄音爽冕,去河邊找鬼。 笑死披蕉,一個(gè)胖子當(dāng)著我的面吹牛颈畸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播没讲,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼眯娱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了爬凑?” 一聲冷哼從身側(cè)響起徙缴,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嘁信,沒(méi)想到半個(gè)月后于样,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡潘靖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年穿剖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卦溢。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡糊余,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出单寂,到底是詐尸還是另有隱情贬芥,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布宣决,位于F島的核電站誓军,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏疲扎。R本人自食惡果不足惜昵时,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望椒丧。 院中可真熱鬧壹甥,春花似錦、人聲如沸壶熏。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至溯职,卻和暖如春精盅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谜酒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工叹俏, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人僻族。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓粘驰,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親述么。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蝌数,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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