小程序?qū)W習(xí)之旅(一)跑一個(gè)wepy

老大扔來(lái)任務(wù)

老大:來(lái)费奸,你研究研究弥激,把咱們微信H5端弄個(gè)小程序出來(lái)
我:得令!

于是乎愿阐,小程序的學(xué)習(xí)開(kāi)發(fā)開(kāi)始了微服。。缨历。以蕴。

首先糙麦,我翻了翻收藏夾,找出了我一朋友分享的小程序開(kāi)源項(xiàng)目——WePY

這個(gè)項(xiàng)目還是騰訊自己出的丛肮,看了看赡磅,我覺(jué)得靠譜,沒(méi)問(wèn)題宝与,就它了焚廊。

開(kāi)搞開(kāi)搞~

先搞個(gè)能跑起來(lái)的demo

打開(kāi) webstorm
打開(kāi) wepy官方文檔

1. 全局安裝或更新WePY命令行工具

npm install wepy-cli@1.7.0 -g

我后邊使用了 sass,而 wepy-cli 1.7.0 以上的版本不知為何 sass 編譯出來(lái)的 wxss 文件是空的

2. 在開(kāi)發(fā)目錄中用wepy-cli生成項(xiàng)目

wepy init standard

我的wepy-cli版本:1.7.0 出現(xiàn)以下對(duì)話

Generate project in current directory? // 在當(dāng)前目錄中生成項(xiàng)目嘛?
Y // 似滴

A newer version of wepy-cli is available. // 如果出現(xiàn)习劫,就是提醒你wepy-cli有新的版本可用

Project name // 項(xiàng)目叫啥
xxx

Project description // 來(lái)講一下你這個(gè)項(xiàng)目
這是一個(gè)xxx小程序項(xiàng)目……&*%¥……#……%¥&*……&%#¥%#¥

Author // 作者咆瘟?
姓名<郵箱>

Use ESLint to lint your code? // 使用ESLint幫你檢測(cè)代碼?
y // 來(lái)吧

Use Redux in your project? // 使用Redux來(lái)處理狀態(tài)管理诽里?
Y // 可以

Use web transform feature in your project? // 在項(xiàng)目中使用Web轉(zhuǎn)換功能袒餐?
Y // 允了(雖然不知道是干啥的東西,但是看起來(lái)很厲害的樣子须肆,先加上再說(shuō))

3. 萬(wàn)事大吉匿乃,只欠下載

npm i

4. 開(kāi)啟實(shí)時(shí)編譯,走你

wepy build --watch

于是乎得到了一個(gè)項(xiàng)目豌汇,目錄結(jié)構(gòu):

├── dist                   微信開(kāi)發(fā)者工具指定的目錄(該目錄由WePY的build指令自動(dòng)編譯生成幢炸,請(qǐng)不要直接修改該目錄下的文件)
├── node_modules           
├── src                    代碼編寫(xiě)的目錄(該目錄為使用WePY后的開(kāi)發(fā)目錄)
|   ├── components         WePY組件目錄(組件不屬于完整頁(yè)面,僅供完整頁(yè)面或其他組件引用)
|   |   ├── com_a.wpy      可復(fù)用的WePY組件a
|   |   └── com_b.wpy      可復(fù)用的WePY組件b
|   ├── pages              WePY頁(yè)面目錄(屬于完整頁(yè)面)
|   |   ├── index.wpy      index頁(yè)面(經(jīng)build后拒贱,會(huì)在dist目錄下的pages目錄生成index.js宛徊、index.json、index.wxml和index.wxss文件)
|   |   └── other.wpy      other頁(yè)面(經(jīng)build后逻澳,會(huì)在dist目錄下的pages目錄生成other.js闸天、other.json、other.wxml和other.wxss文件)
|   └── app.wpy            小程序配置項(xiàng)(全局?jǐn)?shù)據(jù)斜做、樣式苞氮、聲明鉤子等;經(jīng)build后瓤逼,會(huì)在dist目錄下生成app.js笼吟、app.json和app.wxss文件)
└── package.json           項(xiàng)目的package配置

5. 對(duì)微信開(kāi)發(fā)者工具和IDE工具做一些設(shè)置(非常重要)

微信開(kāi)發(fā)者工具
IDE操作-代碼高亮

至此項(xiàng)目的準(zhǔn)備工作就基本完成了。
可以在 微信開(kāi)發(fā)者工具 中看到效果


6. 如果你使用的是 WebStorm 霸旗。贷帮。。诱告。撵枢。。

我是用 WebStorm 開(kāi)發(fā)的,在進(jìn)入 sec/pages/index.wpy 看代碼時(shí)習(xí)慣性的按了一波 Ctrl+Shift+F+S 之后(格式化代碼+保存)锄禽,我發(fā)現(xiàn)界面出問(wèn)題了潜必。。沟绪。

WTF刮便??绽慈?切回 WebStorm 我發(fā)現(xiàn)多了好幾條紅線,原來(lái)是 WebStorm 不認(rèn)識(shí) rpx 單位辈毯,格式化代碼時(shí)會(huì)在 rpx 單位前邊加個(gè)空格坝疼,導(dǎo)致樣式出了問(wèn)題

7. 于是乎,解決這個(gè)問(wèn)題

wepy自帶less谆沃,但是用less解決的話很難受

.userinfo-avatar {
    width: ~"200rpx";
    height: ~"200rpx";
    border-radius: 50%;
}

轉(zhuǎn)過(guò)頭看钝凶,用 sass 的函數(shù)去解決這個(gè)問(wèn)題就很優(yōu)雅了

  @function rpx($value) {
    @return $value * 1rpx;
  }
  .userinfo-avatar {
    width: rpx(80);
    height: rpx(80);
    border-radius: 50%;
  }

So

//安裝sass
npm i node-sass
//安裝wepy-compiler-sass插件
npm install wepy-compiler-sass --save-dev

//配置wepy.config.js
module.exports = {
    "compilers": {
        sass: {
            'outputStyle': 'compressed'
        }
    }
};

再跑一遍,搞定~

8.注意:這里有一個(gè)天坑

wepy-cli 1.7.2 版本編譯出來(lái)的 wxss(就是小程序的 css 文件)是空的唁影,升級(jí) or 降級(jí)到 1.7.0 即可

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末耕陷,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子据沈,更是在濱河造成了極大的恐慌哟沫,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件锌介,死亡現(xiàn)場(chǎng)離奇詭異嗜诀,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)孔祸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)隆敢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人崔慧,你說(shuō)我怎么就攤上這事拂蝎。” “怎么了惶室?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵温自,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我拇涤,道長(zhǎng)捣作,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任鹅士,我火速辦了婚禮券躁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己也拜,他們只是感情好以舒,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著慢哈,像睡著了一般蔓钟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上卵贱,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天滥沫,我揣著相機(jī)與錄音,去河邊找鬼键俱。 笑死兰绣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的编振。 我是一名探鬼主播缀辩,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼踪央!你這毒婦竟也來(lái)了臀玄?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤畅蹂,失蹤者是張志新(化名)和其女友劉穎健无,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體魁莉,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡睬涧,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旗唁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片畦浓。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖检疫,靈堂內(nèi)的尸體忽然破棺而出讶请,到底是詐尸還是另有隱情,我是刑警寧澤屎媳,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布夺溢,位于F島的核電站,受9級(jí)特大地震影響烛谊,放射性物質(zhì)發(fā)生泄漏风响。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一丹禀、第九天 我趴在偏房一處隱蔽的房頂上張望状勤。 院中可真熱鬧鞋怀,春花似錦、人聲如沸持搜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)葫盼。三九已至残腌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贫导,已是汗流浹背抛猫。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留脱盲,地道東北人邑滨。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像钱反,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子匣距,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,310評(píng)論 25 707
  • 轉(zhuǎn)載鏈接 注:本文轉(zhuǎn)載知乎上的回答 作者:初雪 鏈接:https://www.zhihu.com/question...
    pengshuangta閱讀 28,564評(píng)論 9 295
  • 1. weapp-boilerplate 微信小程序骨架 特點(diǎn) 開(kāi)發(fā)階段與生產(chǎn)階段分離面哥。 自動(dòng)化生成新頁(yè)面所需...
    ROBIN2015閱讀 1,645評(píng)論 0 5
  • 01 辭職后,雖沒(méi)有了周末的概念毅待,每天都在自己的計(jì)劃中度過(guò)尚卫,但并非是死板的那種。昨晚尸红,去影院看了《尋夢(mèng)環(huán)球記》吱涉。今...
    yj_boy閱讀 198評(píng)論 0 1
  • 大家都是第一次生而為人,雖然各有不同外里,但實(shí)在不必向這個(gè)世界說(shuō)抱歉怎爵。
    原子曰閱讀 243評(píng)論 0 0