使用mpvue開(kāi)發(fā)小程序教程(二)

我們介紹了使用mpvue開(kāi)發(fā)小程序所需要的一些開(kāi)發(fā)環(huán)境的搭建荸哟,并創(chuàng)建了第一個(gè)mpvue小程序代碼骨架并將其運(yùn)行起來(lái)。在本文中瞬捕,我們來(lái)研究熟悉一下mpvue項(xiàng)目的主要目錄和文件結(jié)構(gòu)鞍历。

image

在Visual Studio Code里面打開(kāi)項(xiàng)目文件夾,我們可以看到類似如下的文件結(jié)構(gòu):

firstapp
├── package.json
├── project.config.json       
├── static            
├── src
│    ├── components
│    ├── pages
│    ├── utils
│    ├── App.vue
│    └── main.js
├── config
│   ├── index.js
│   ├── dev.env.js
│   └── prod.env.js
└── build

1)package.json文件

package.json是項(xiàng)目的主配置文件肪虎,里面包含了mpvue項(xiàng)目的基本描述信息劣砍、項(xiàng)目所依賴的各種第三方庫(kù)以及版本信息、以及可執(zhí)行的腳本信息扇救。

我們看到該文件中的scripts部分配置了4個(gè)可執(zhí)行的命令:

"dev": "node build/dev-server.js",
"start": "node build/dev-server.js",
"build": "node build/build.js",
"lint": "eslint --ext .js,.vue src"

  • devstart是兩個(gè)等價(jià)的命令刑枝,執(zhí)行其中之一都可以將項(xiàng)目以開(kāi)發(fā)模式啟動(dòng)。執(zhí)行方式是:
npm start
npm run dev

  • lint指令是使用ESLint來(lái)進(jìn)行代碼語(yǔ)法和格式檢查迅腔,以及修復(fù)一些可自動(dòng)修復(fù)的問(wèn)題装畅。執(zhí)行方式是:
npm run lint  #檢查語(yǔ)法和格式
npm run lint -- --fix #檢查代碼語(yǔ)法和格式,并修復(fù)可自動(dòng)修復(fù)的問(wèn)題

  • build指令是用于生成發(fā)布用代碼的沧烈,它會(huì)對(duì)代碼進(jìn)行一些壓縮優(yōu)化處理掠兄。當(dāng)小程序開(kāi)發(fā)完成后,將要提交審核時(shí),請(qǐng)使用build來(lái)生成發(fā)布的代碼徽千。
2)project.config.json文件

project.config.json文件是用于管理微信開(kāi)發(fā)者工具的小程序項(xiàng)目的配置文件苫费,其中記錄了小程序的appid汤锨、代碼主目錄双抽、以及編譯選項(xiàng)等等信息,在微信開(kāi)發(fā)者工具中導(dǎo)入小程序項(xiàng)目的時(shí)候主要是通過(guò)該配置文件讀取和寫(xiě)入配置信息闲礼。

3)static目錄

static目錄可以用于存放各種小程序本地靜態(tài)資源牍汹,如圖片、文本文件等柬泽。代碼中可通過(guò)相對(duì)路徑或絕對(duì)路徑進(jìn)行訪問(wèn)慎菲, 如:

<img src="/static/button.png" />
<img src="../../../static/button.png" />

4)build目錄

build目錄下是一些用于項(xiàng)目編譯打包的node.js腳本和webpack配置文件。一般情況下不需要修改這些文件锨并。

5)config目錄

config目錄下包含了用于開(kāi)發(fā)和生產(chǎn)環(huán)境下的不同配置露该,dev.env.js用于開(kāi)發(fā)環(huán)境,prod.env.js用于生產(chǎn)環(huán)境第煮,你可以將開(kāi)發(fā)階段和生產(chǎn)階段不一樣的信息(如后臺(tái)API的url地址等)配置到這兩個(gè)文件中去解幼,然后在代碼中以變量的形式進(jìn)行引用。例如包警,這2個(gè)文件中分別配置了不同的API_BASE_URL值:

// dev.env.js
module.exports = merge(prodEnv, {
  NODE_ENV: '"development"',
  API_BASE_URL: '"http://127.0.0.1:8080/api"'
})

// prod.env.js
module.exports = {
  NODE_ENV: '"production"',
  API_BASE_URL: '"https://www.my-domain.com/api"'
}

那你在編寫(xiě)請(qǐng)求后端API的代碼時(shí)撵摆,你就可以使用這個(gè)環(huán)境配置,像這樣:

const baseURL = process.env.API_BASE_URL
wx.request({
  url: `${baseURL}/products`
})

這樣一來(lái)害晦,開(kāi)發(fā)階段和上線發(fā)布階段的環(huán)境可以清楚的區(qū)分開(kāi)來(lái)特铝。

5)src目錄

src目錄是我們主要進(jìn)行小程序功能編寫(xiě)的地方。默認(rèn)生成的demo代碼為我們創(chuàng)建了幾個(gè)子目錄:components壹瘟、pagesutils鲫剿,還有2個(gè)文件:App.vuemain.js。其實(shí)它們都不是必須的稻轨,可以按照自己的風(fēng)格進(jìn)行定義和配置灵莲。不過(guò)默認(rèn)創(chuàng)建的這個(gè)結(jié)構(gòu)基本上是一個(gè)約定俗成的結(jié)構(gòu)了,比較易于理解澄者,所以我們可以遵循這個(gè)結(jié)構(gòu)進(jìn)行開(kāi)發(fā)笆呆。

  • components:在實(shí)際開(kāi)發(fā)中,我們可以盡量將界面上可復(fù)用的部分粱挡,提取成vue組件放入該目錄

  • pages:存放小程序的頁(yè)面赠幕。請(qǐng)遵循每個(gè)小程序頁(yè)面放入一個(gè)單獨(dú)子目錄的組織形式

  • utils:可選(可刪)⊙ぃ可以將代碼中一些公用工具函數(shù)組織成模塊放入該目錄下

  • 可新建其他目錄榕堰,存放你希望組織起來(lái)的代碼。比如公用的業(yè)務(wù)邏輯代碼、請(qǐng)求后臺(tái)API的代碼等等

  • main.js + App.vue:這兩個(gè)是入口文件逆屡,相當(dāng)于原生小程序框架中的app.jsonapp.js的復(fù)合體圾旨。

小結(jié)

本文主要介紹了mpvue工程的代碼結(jié)構(gòu),大家可以多熟悉一下它們魏蔗,以方便后續(xù)的實(shí)際開(kāi)發(fā)工作砍的。

作者:一斤代碼
鏈接:http://www.reibang.com/p/2e98cc166dbd
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)莺治,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處廓鞠。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市谣旁,隨后出現(xiàn)的幾起案子床佳,更是在濱河造成了極大的恐慌,老刑警劉巖榄审,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砌们,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡搁进,警方通過(guò)查閱死者的電腦和手機(jī)浪感,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)拷获,“玉大人篮撑,你說(shuō)我怎么就攤上這事〈夜希” “怎么了赢笨?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)驮吱。 經(jīng)常有香客問(wèn)我茧妒,道長(zhǎng),這世上最難降的妖魔是什么左冬? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任桐筏,我火速辦了婚禮,結(jié)果婚禮上拇砰,老公的妹妹穿的比我還像新娘梅忌。我一直安慰自己,他們只是感情好除破,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布牧氮。 她就那樣靜靜地躺著,像睡著了一般瑰枫。 火紅的嫁衣襯著肌膚如雪踱葛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音尸诽,去河邊找鬼甥材。 笑死,一個(gè)胖子當(dāng)著我的面吹牛性含,可吹牛的內(nèi)容都是我干的洲赵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼胶滋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼板鬓!你這毒婦竟也來(lái)了悲敷?” 一聲冷哼從身側(cè)響起究恤,我...
    開(kāi)封第一講書(shū)人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎后德,沒(méi)想到半個(gè)月后部宿,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡瓢湃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年理张,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绵患。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡雾叭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出落蝙,到底是詐尸還是另有隱情织狐,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布筏勒,位于F島的核電站移迫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏管行。R本人自食惡果不足惜厨埋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捐顷。 院中可真熱鬧荡陷,春花似錦、人聲如沸迅涮。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)逗柴。三九已至蛹头,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渣蜗。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工屠尊, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人耕拷。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓讼昆,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親骚烧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子浸赫,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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