小程序中為什么要用taro-deploy

這篇文章主要介紹小程序中為什么要用taro-deploy,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

為雙牌等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及雙牌網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、雙牌網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

為什么要用 taro-deploy?

Taro 小程序開發(fā)者常有這種痛點(diǎn):開發(fā)好代碼想要發(fā)布提測,需要進(jìn)行以下一系列步驟(以支付寶、微信小程序平臺為例):

小程序中為什么要用taro-deploy

整個流程將近十分鐘,其中還有不少需要手動操作的環(huán)節(jié),可以說這種原始的發(fā)布方式效率非常低。

taro-deploy 就是為了解決這個痛點(diǎn)出現(xiàn)的,它集成了支付寶和微信提供的命令行工具,自動化地完成上述流程。

用了 taro-deploy,開發(fā)者在發(fā)布提測時只需兩步:

  1. 運(yùn)行一次命令 taro-deploy

  2. 去喝杯茶歇一下

構(gòu)建發(fā)布完了,釘釘上就會收到構(gòu)建結(jié)果的推送了,全程無需人工干預(yù)。

以下為釘釘推送消息的截圖。

小程序中為什么要用taro-deploy

可以看到除了發(fā)布生成的小程序二維碼,推送消息里還附帶了構(gòu)建機(jī)器、構(gòu)建分支、項目最近的 git commit 日志等,打包信息更清楚。

NOTE: git commit 日志目前只會展示 featfix 關(guān)鍵詞開頭的 commit

適合我用嗎?

如果你

  1. 使用 Taro 框架開發(fā)小程序

  2. 需要支持微信和支付寶平臺

  3. 想要自動化構(gòu)建發(fā)布,不想手動操作

  4. 使用釘釘辦公,開發(fā)和測試都在一個釘釘群里(這點(diǎn)不是必需的,沒有釘釘也可以使用 taro-deploy,只是會多了一些手動操作)

那你就非常適合使用 taro-deploy 了。

怎么用?

Step 1 - 安裝

npm i -g taro-deploy復(fù)制代碼

Step 2 - 平臺相關(guān)的準(zhǔn)備步驟

  1. 支付寶:參考官方文檔,準(zhǔn)備好私鑰和 toolId。

  2. 微信:參考官方文檔,準(zhǔn)備好私鑰

Step 3 - 創(chuàng)建釘釘機(jī)器人

參考官方文檔創(chuàng)建釘釘機(jī)器人,安全設(shè)置記得選擇“自定義關(guān)鍵詞”并填上“小程序構(gòu)建”即可。

創(chuàng)建完成后,會得到一個形如 https://oapi.dingtalk.com/robot/send?access_token=XXXXXX 的 webhook url,后續(xù)會用到。

Step 4 - 準(zhǔn)備配置文件

在你的 Taro 項目根目錄新建一個 deploy-config.js 文件,按下述模版填入內(nèi)容。

這里需要配置的內(nèi)容比較關(guān)鍵也比較多,成敗在此一舉了

// deploy-config.js// 該文件應(yīng)放在 Taro 項目的根目錄下module.exports = {  // 構(gòu)建結(jié)果的輸出目錄,該腳本產(chǎn)生的日志也會輸出到這里
  outDir: './deploy-out',  // 微信相關(guān)配置
  weapp: {    // 如果為 false,則不會運(yùn)行微信的構(gòu)建流程
    enable: true,    // 這里填你們配置的 Taro 編譯后微信程序包的輸出路徑
    projectPath: './dist/weapp',    // Step 2 里獲得的私鑰文件的存放路徑
    keyPath: './weapp.key',    // 微信小程序 appId
    appId: 'wx82xxxxxx',    // 微信體驗版圖片地址
    // 與支付寶不同,不管上傳多少個新版本,微信的體驗版地址是一直不變的
    // 因此需要在這里配置該二維碼圖片的鏈接
    // 直接從微信公眾平臺上復(fù)制的體驗版圖片地址貌似無法在釘釘里正常展示
    // 建議轉(zhuǎn)存到自己的 cdn 上,再將 cdn url 填到下面這里來
    qrcodeImageUrl: 'https://xxxcdn.con/image/weapp-exp-qrcode.jpg',    // 小程序版本號
    // 由于微信的命令行 sdk 不支持設(shè)置某個版本為體驗版,要改設(shè)體驗版需要在網(wǎng)頁上手動操作
    // 所以只能曲線救國,先在網(wǎng)頁上將本工具上傳的版本設(shè)為體驗版(找到 ci機(jī)器人1 上傳的那個版本)
    // 然后每次上傳都指定同一個版本號,以覆蓋舊的版本,最終實現(xiàn)發(fā)布新體驗版的效果
    version: '1.1.0',    // true 則將跳過編譯階段,即 taro build 命令,
    skipBuild: false,
  },  // 支付寶相關(guān)配置
  alipay: {    // 如果為 false,則不會運(yùn)行支付寶的構(gòu)建流程
    enable: true,    // 這里填你們配置的 Taro 編譯后支付寶程序包的輸出路徑
    projectPath: './dist/alipay',    // Step 2 里獲得的私鑰文件的存放路徑
    keyPath: './alipay.key',    // Step 2 里獲得的 toolId
    toolId: 'f48xxx',    // 支付寶小程序 appId
    appId: '202xxx',    // true 則將跳過 taro build 命令,即編譯階段
    skipBuild: false,
  },  // 默認(rèn)發(fā)體驗版,填 false 則發(fā)布為預(yù)覽版
  // 注意如果發(fā)布為預(yù)覽版,需要實現(xiàn) uploadImage 的函數(shù),否則釘釘無法展示預(yù)覽版的二維碼
  isExperience: true,  // 是否在構(gòu)建前運(yùn)行 npm install
  npmInstall: false,  // 指定環(huán)境變量,會在編譯階段,即 taro build 的指令中注入指定的環(huán)境變量
  env: {    BUILD_ENV: 'test' // 僅作 demo,實際應(yīng)填入你項目編譯需要用的環(huán)境變量
  },  // Step 3 中獲取的釘釘機(jī)器人 webhook url
  dingTalkUrl: 'https://oapi.dingtalk.com/robot/send?access_token=xxx',  // 如果你只需要構(gòu)建發(fā)布體驗版小程序,則可忽略以下函數(shù)
  // 如果你需要構(gòu)建發(fā)布預(yù)覽版小程序,則需要實現(xiàn)該函數(shù),將本地二維碼圖片文件轉(zhuǎn)換為圖片鏈接,否則無法將預(yù)覽版二維碼推送到釘釘群里
  // 其中 objectName 形如 {platform}-{timestamp}.jpg,作為建議保存的文件名
  // filePath 為本地預(yù)覽版二維碼圖片的路徑
  uploadImage: async function(objectName, filePath) {    return ''
    // 如果你使用阿里云 oss 作 cdn,可以參考以下代碼進(jìn)行上傳
    // const OSS = require('ali-oss')
    // const client = new OSS({
    //   region: 'oss-cn-xxx',
    //   accessKeyId: 'xxx',
    //   accessKeySecret: 'xxx',
    //   bucket: 'xxx',
    // })
    // await client.put(`preview/${objectName}`, filePath, {
    //   'Cache-Control': 'max-age=31536000'
    // })
    // return `https://xxx-oss-cdn.com/preview/${objectName}`
  }
}復(fù)制代碼

Step 5 - 運(yùn)行 taro-deploy

# cd 到你們的項目并運(yùn)行taro-deploy復(fù)制代碼

然后就可以靜候釘釘機(jī)器人推送構(gòu)建結(jié)果了

FAQ

Q: 我們沒有用釘釘辦公,怎么用 taro-deploy?

A: taro-deploy 目前只支持推送釘釘消息,否則只能完成自動化構(gòu)建、上傳、設(shè)置體驗版,沒法完成最后的推送步驟。如果有推送其它IM工具的需求,可以嘗試自行實現(xiàn),也歡迎提交 PR。

Q: 為什么發(fā)布預(yù)覽版要實現(xiàn) uploadImage 函數(shù)這么麻煩?

A: 因為支付寶和微信的預(yù)覽版只會生成本地的二維碼圖片,要想在釘釘消息里展示本地的二維碼圖片,只能先將圖片上傳到 cdn,再將 cdn 鏈接填進(jìn)釘釘消息模版里。

Q: 為什么發(fā)布以后,微信體驗版還是舊的?

A: 請到微信的網(wǎng)頁控制臺上檢查確保已將「ci機(jī)器人1」上傳的版本設(shè)置為體驗版。

Q: 只支持微信和支付寶嗎?

A: Taro 支持很多平臺,但是 taro-deploy 目前只支持了微信和支付寶兩個平臺的自動構(gòu)建和發(fā)布。

Q: 沒有找到 ci機(jī)器人1 上傳的版本?

A: 先跑一遍 taro-deploy,等上傳完成以后,就可以在微信小程序控制臺網(wǎng)頁的「版本控制」菜單里找到。

Q: 這個工具如果出 bug 了,會造成小程序的線上故障嗎?

A: taro-deploy 目前只支持發(fā)布預(yù)覽版和體驗版,不支持發(fā)布生產(chǎn)版,不會影響到生產(chǎn)環(huán)境。

Q: 我想定制釘釘推送消息的內(nèi)容

A: 目前沒有開放很靈活的釘釘消息模版配置,如有需要可以 fork 本項目并定制修改 send-ding.js 文件,也歡迎提交 PR。

以上是“小程序中為什么要用taro-deploy”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁題目:小程序中為什么要用taro-deploy
文章URL:http://muchs.cn/article40/gheceo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、靜態(tài)網(wǎng)站網(wǎng)站制作、品牌網(wǎng)站制作外貿(mào)網(wǎng)站建設(shè)、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化