亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

開源一個微信小程序儀表盤組件過程解析

2020-03-21 15:50:21
字體:
來源:轉載
供稿:網友

前言

最近開發了一個小程序動態儀表盤組件,并以第三方小程序組件的形式發布到npm,任意小程序項目都可以安裝這個模塊,從而獲得儀表盤功能。

組件功能目前還非常簡單,先來預覽一下效果:

開源,微信小程序,儀表盤

感興趣的直接看源碼:

https://github.com/tower1229/weapp-plugin-dashboard

下面是踩坑過程。

如何開發微信小程序自定義組件

官方提供了一個CLI工具專門用于開發小程序自定義組件,首先全局安裝這個工具:

npm install -g @wechat-miniprogram/miniprogram-cli

然后用它初始化一個自定義組件項目:

miniprogram init --type custom-component

這一步會下載一個前端工程模板到本地,這個模板是一個基于gulp的前端自動化工程,使用前需要先安裝依賴:

npm i

有可能你會像我一樣發現這個項目的默認依賴版本有點老,然后習慣性的在VSCode里用Npm Dependency自動升級了一下,重新安裝,然后就傻逼了,新版babel插件會讓項目跑不起來。

還原到默認版本重新安裝,啟動開發服務:

npm run watch

這時自動化工程會將src/里的代碼構建到miniprogram_dev/文件夾,這里面是一個標準的小程序目錄結構,是可以用微信開發者工具導入并運行的,導入的時候注意使用測試appId。

然后這邊我們編輯src里的源碼文件,另一邊就會同步構建到miniprogram_dev,微信開發者工具檢測到文件變動也會自動重新編譯項目,目前為止很美好。

但就我的親身體驗來看,這個自動化工程有點小毛病,偶爾會把個別文件給編譯“丟”,比如突然樣式沒了,或者js編譯不通過,那么js文件也就沒了,微信開發者工具這邊就會報錯。

最坑的是,這個工程的編譯過程集成了eslint代碼檢查,檢查不通過js文件就不編譯,任由開發者工具報錯。默認的eslint配置是有多變態?起碼對我來說這是個很難忘的經歷,一下午都在咬牙切齒的查各種eslint報錯是什么意思,怎么關掉。

不過eslint也有一些有意義的要求,比如parseInt()方法的第二個參數通常我都不傳,嚴格來說這樣確實不算好的實踐。

canvas在小程序組件中的使用

開發過程中遇到最坑的問題,是我自己看文檔不仔細導致的,但我覺得更大的責任在于小程序官方文檔太亂了。

初始化canvas實例的wx.createCanvasContext()方法,其實有兩個參數,第二個參數通常也是都不傳,僅在組件內使用時這個參數才需要傳this,之前一直沒在組件里用過canvas,導致忘了還有這么個參數,也不報錯,就是canvas死活畫不出東西,查了好半天才發現是這個原因。

這種情況完全可以在開發工具中給個報錯,為什么不?

查文檔的過程中,真心覺得小程序的文檔組織太TM亂了,知識點是全的,但同一個東西的知識點散落的到處都是,比如說單獨看【框架】這個欄目的內容,你根本不可能掌握小程序框架是怎么一回事,再看看“指南”才能知道個大概,然后再看組件和API,才能寫出個hello world項目。

就說自定義組件的開發吧,自定義組件的接口、開發、發布、安裝每個環節的內容,被分別散落在【框架】、【指南】、【工具】的不同篇幅里,也就是第一次開發自定義組件的時候,需要把整個文檔都翻騰一遍,才能找到所有我需要知道的東西,你說扯不扯。

發布與安裝npm包

自定義組件開發完了就要發布到npm,發布過程是全程最愉快的部分了,一點坑沒有,開發環境測試沒問題,運行構建命令:

npm run build

這時會產出一個miniprogram_dist/文件夾,整個項目的.gitignore和.npmignore都預置好了,如果你把代碼提交到GitHub,將只提交源碼和必要的工程文件;如果要發布到npm,在已經登錄npm的前提下只要執行:

npm publish

就會按小程序支持的格式(包含miniprogram_dist/)將代碼發布到npm,然后就可以在其他小程序項目里安裝并使用了。
小程序項目安裝npm包有點麻煩。

首先在小程序代碼根目錄(project.config.json中miniprogramRoot配置的目錄)中依次執行:

npm initnpm i weapp-plugin-dashboard -S --production  // 此處以安裝weapp-plugin-dashboard模塊為例

只有這樣安裝的模塊才算數,一開始我隨手創建了個package.json文件寫上依賴包名稱,然后執行npm i,雖然模塊也下載了,但會在下一步的開發者工具中報錯,提示找不到npm包,可能是因為package.json文件不規范,但是文檔沒有告知怎樣的package.json才算規范。

安裝完畢后,在開發者工具中看不到node_modules/這個目錄,因為此時這些模塊小程序還并不支持,需要再構建一下才能用。

首先,在開發者工具的項目配置里開啟使用npm模塊,然后執行“工具-構建npm”操作,成功后會產出一個miniprogram_npm/文件夾,這個文件夾是可以在開發者工具中看到的,到這一步npm包才算真的安裝成功,可以在小程序項目中正常調用了。

開源,微信小程序,儀表盤

最后

再放一下項目地址吧,

https://github.com/tower1229/weapp-plugin-dashboard

歡迎感興趣的朋友一起參與開發。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产高清福利视频| 精品视频—区二区三区免费| 欧美一区在线直播| 国产精品国产福利国产秒拍| 欧美精品日韩www.p站| 色综合久久天天综线观看| 人九九综合九九宗合| 亚洲成人精品久久久| 国内精品中文字幕| 色爱精品视频一区| 日本精品久久中文字幕佐佐木| 日韩精品极品在线观看| 91国产在线精品| 国产精国产精品| 欧美精品第一页在线播放| 国产精品999| 国产亚洲一区二区在线| 久久精品夜夜夜夜夜久久| 欧美日韩亚洲高清| 欧美整片在线观看| 91免费版网站入口| 欧美电影免费看| 国产精品自产拍高潮在线观看| 国产亚洲福利一区| 国产偷亚洲偷欧美偷精品| 国产mv免费观看入口亚洲| 欧美孕妇性xx| 亚洲情综合五月天| 国产原创欧美精品| 91在线视频成人| 国产视频观看一区| 欧美国产日韩一区二区三区| 欧美亚洲激情在线| 亚洲欧美日韩一区二区三区在线| 免费不卡在线观看av| 欧美视频第一页| 在线观看日韩www视频免费| 91在线无精精品一区二区| 亚洲a成v人在线观看| 国产区精品在线观看| 国产在线久久久| 日本久久久久亚洲中字幕| 国产成人一区二区在线| 91精品久久久久久久久久| 国产日韩欧美一二三区| 亚洲国产精品久久久久秋霞蜜臀| 精品视频久久久| 欧美小视频在线| 国内精品久久久久久久久| 日韩精品极品在线观看播放免费视频| 欧美野外wwwxxx| 日本午夜人人精品| 欧美激情精品久久久久久免费印度| 国产成人亚洲综合青青| 国产精品视频一区国模私拍| 久久电影一区二区| 在线日韩精品视频| 视频一区视频二区国产精品| 国产精品久久久久7777婷婷| 最新中文字幕亚洲| 精品女同一区二区三区在线播放| 亚洲japanese制服美女| 日韩有码在线播放| 午夜免费在线观看精品视频| 国产日韩换脸av一区在线观看| 国内外成人免费激情在线视频网站| 91日韩在线播放| 久久99国产精品久久久久久久久| 亚洲v日韩v综合v精品v| 国产成人精品在线| 国产精品久久久久久网站| zzjj国产精品一区二区| 欧洲精品毛片网站| 在线观看精品国产视频| 亚洲综合最新在线| 国产精品三级在线| 国产精品99久久99久久久二8| 欧美老女人性生活| 欧美成人在线影院| 成人激情电影一区二区| 久久久久久久电影一区| 欧美性jizz18性欧美| 国产小视频国产精品| 精品久久久久久久久久久久| 欧美性极品xxxx娇小| 国产精品黄页免费高清在线观看| 亚洲综合大片69999| 精品视频—区二区三区免费| 亚洲欧美日韩天堂一区二区| 亚洲午夜精品久久久久久久久久久久| 久久久久久久久久av| 亚洲图片制服诱惑| 色婷婷综合久久久久中文字幕1| 91在线视频导航| 亚洲一区www| 日韩av影院在线观看| 国产精品1234| 日韩欧美aⅴ综合网站发布| 国产成人高潮免费观看精品| 欧美在线观看视频| 最近的2019中文字幕免费一页| 色婷婷综合久久久久| 欧美成人三级视频网站| 国产精品偷伦免费视频观看的| 久久人91精品久久久久久不卡| 17婷婷久久www| 亚洲欧美综合v| 中文字幕日韩欧美精品在线观看| 在线观看欧美成人| 久久琪琪电影院| 欧美xxxx综合视频| 2018日韩中文字幕| 亚洲福利视频久久| 久久精品人人做人人爽| 一本色道久久88综合亚洲精品ⅰ| 91在线观看免费观看| 成人免费激情视频| 日本精品久久久久影院| 一区二区三区国产视频| 亚洲精品乱码久久久久久按摩观| 热99精品只有里视频精品| 欧美激情手机在线视频| 北条麻妃在线一区二区| 国产精品久久久久久久久久久不卡| 亚洲伊人一本大道中文字幕| 亚洲精品成人久久电影| 日韩av免费在线观看| 7777精品久久久久久| 国产精品嫩草影院久久久| 高跟丝袜欧美一区| 国产精品久久一区| 亚洲最大福利网| 日韩成人在线视频| 97热精品视频官网| 国产91精品不卡视频| 97精品欧美一区二区三区| 国产精品v片在线观看不卡| 久久精品电影网站| 中文字幕国产亚洲2019| 奇门遁甲1982国语版免费观看高清| www.美女亚洲精品| 欧美日韩国产页| 中文字幕国产日韩| 日本精品va在线观看| 日韩精品久久久久久久玫瑰园| 狠狠操狠狠色综合网| 国产日产亚洲精品| 日韩精品视频在线观看免费| 岛国视频午夜一区免费在线观看| 久久中文精品视频| 91久久夜色精品国产网站| 欧美成人国产va精品日本一级| 亚洲国产精彩中文乱码av在线播放| 欧美理论电影网| 亚洲欧美国产日韩中文字幕| 欧美最猛黑人xxxx黑人猛叫黄| 国产精品第二页| 亚洲欧美日韩爽爽影院| 亚洲一区二区三区777| 91亚洲精品一区二区| 热99精品里视频精品| 欧美激情性做爰免费视频| 久久综合伊人77777尤物| 中文.日本.精品|