知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 小程序相關(guān) >
小程序-云開發(fā)-如何切換開發(fā)(測試)壞境與生產(chǎn)壞境
發(fā)表時間:2021-1-11
發(fā)布人:葵宇科技
瀏覽次數(shù):123
對于實現(xiàn)一個軟件應(yīng)用,這不區(qū)分應(yīng)用是大還是小,都有著自己的生命周期,開發(fā)者往往會不斷的去迭代軟件應(yīng)用
在傳統(tǒng)的軟件開發(fā)應(yīng)用過程中,會涉及到很多人的參與
而開發(fā)一個小程序或其他軟件應(yīng)用,也是如此,而每個角色所承擔的工作或者權(quán)限都不一樣
例如:產(chǎn)品經(jīng)理(PD),設(shè)計(UI),開發(fā)(前后端同學),運維,測試等,借用官方的一個關(guān)系圖,如下所示
項目管理的各個成員都各自輸出自己的工作成果,不斷反饋和迭代整個項目
- 產(chǎn)品同學經(jīng)過運營同學的調(diào)研,用戶需求分析,提出需求輸出 PD,原型與交互設(shè)計
- 設(shè)計同學根據(jù)產(chǎn)品提供的原型圖進行 UI 層的設(shè)計稿可視化輸出
- 開發(fā)同學根據(jù) UI 提供的設(shè)計稿完成前后端代碼的編寫,功能的實現(xiàn)
- 測試同學根據(jù)功能需求編寫測試用例,并對小程序進行各種自動化邊界測試,確保小程序或軟件應(yīng)用的穩(wěn)定
- 上線發(fā)布
每個角色都相關(guān)聯(lián),并無輕重一說,都是一條繩子上的螞蚱,一個讓用戶尖叫的產(chǎn)品,都少不了各個角色的共同努力,拳頭握緊,力都往一處使,才會有力量
整個過程,就如下圖所示:
當然,更細的傳統(tǒng)開發(fā)里,中間可能還有運維同學的參與,不過在很多公司里,很多后端也相當于運維,單獨能有運維的,都是應(yīng)用級比較大的項目
在小程序開發(fā)中,為了便于項目的管理,小程序平臺賦予了各個不同角色的權(quán)限,具體詳情介紹:可見官方文檔小程序協(xié)同工作
賦予各個角色的權(quán)限,是很有必要的,刪庫跑路這種現(xiàn)象在現(xiàn)實中是存在的
但對于如今的小程序開發(fā),有時候,很多應(yīng)用也許就是一個人,從頭干到尾,設(shè)計,開發(fā),測試,部署上線,全程就一個人
針對于那種不涉及到數(shù)據(jù)的存儲操作,只是在小程序端展示的應(yīng)用,開發(fā)壞境與線上公用一個壞境和數(shù)據(jù)庫,其實也沒有多大問題,但是個人不提倡
哪怕功能在小,也要帶著做產(chǎn)品的思維去做,而不僅僅只是停留在一個 Demo 上
當小程序發(fā)布上線之后,那么外部用戶就可以使用了,但是后續(xù)往往會進行迭代開發(fā),新增其他一些功能,在本地開發(fā)時,也就是正在開發(fā)版本的代碼,它是不穩(wěn)定的
當線上版本與本地開發(fā)版本共用一個數(shù)據(jù)庫時,那么在本地對數(shù)據(jù)的增刪操作,都會同步到線上的版本
如果涉及到多個小伙伴的協(xié)同開發(fā),那么肯定是不行的,不然項目就會亂套
在傳統(tǒng)的開發(fā)里,為了方便產(chǎn)品,開發(fā),測試,運維等同學的測試,一般一個產(chǎn)品,分為線上穩(wěn)定版本,預發(fā)布版本,測試版本,開發(fā)版本,都對應(yīng)著不同的壞境
而在小程序開發(fā)中,也同樣如此,小程序云開發(fā)中可以創(chuàng)建兩個環(huán)境,這兩個壞境是互不影響,獨立的的
廢話不多說,下面正式進入主題
如何新增一個云環(huán)境
如果您在做小程序一開始就選用的是云開發(fā),那么默認的會創(chuàng)建一個云壞境,注意一旦這個云壞境創(chuàng)建了,名字就沒法更改了
點擊微信開發(fā)者工具工具欄中的云開發(fā)進入云開發(fā)控制臺
在創(chuàng)建好另一個環(huán)境之后,兩個壞境完全是獨立,隔離,互不干擾的,這個云壞境的名稱你可以小程序的名稱+release,或者小程序名稱+develop等,但是命名最好能夠見名知意
一般而言,一個壞境作為測試開發(fā)版本的,另一個作為線上穩(wěn)定版本
在小程序端,進行壞境的切換是在 app.js 中 onLaunch 生命周期中的 env 的具體值
//app.js
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('請使用 2.2.3 或以上的基礎(chǔ)庫以使用云能力')
} else {
wx.cloud.init({
// env 參數(shù)說明:
// env 參數(shù)決定接下來小程序發(fā)起的云開發(fā)調(diào)用(wx.cloud.xxx)會默認請求到哪個云環(huán)境的資源
// 此處請?zhí)钊氕h(huán)境 ID, 環(huán)境 ID 可打開云控制臺查看
// 如不填則使用默認環(huán)境(第一個創(chuàng)建的環(huán)境)
env: '云壞境的ID', // 想要請求切換哪個云環(huán)境,就用哪個的
traceUser: true,
})
}
})
復制代碼
當你的小程序使用了云函數(shù),在小程序端請求云函數(shù)時,那么在云函數(shù)端,要想與所創(chuàng)建的環(huán)境保持一致,也得要做相應(yīng)的改變
// 云函數(shù)入口文件
const cloud = require('wx-server-sdk')
// 云函數(shù)端,需要指定特定一下當前的環(huán)境,不然切換環(huán)境時,小程序前端功能會受影響
// cloud.init()
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV // 這里也可以指定具體的某個壞境,但是建議默認自動獲取
})
復制代碼
注意
在設(shè)置 env
時指定 cloud.DYNAMIC_CURRENT_ENV
常量 (需 SDK v1.1.0 或以上) ,這樣云函數(shù)內(nèi)發(fā)起數(shù)據(jù)庫請求、存儲請求或調(diào)用其他云函數(shù)的時候,默認請求的云環(huán)境就是云函數(shù)當前所在的環(huán)境 :::
以上是在云控制臺切換環(huán)境,而在小程序端,同樣可以切換
點擊云函數(shù)目錄文件夾,右鍵云函數(shù)文件夾,即可切換云開發(fā)的環(huán)境
從一個壞境導入數(shù)據(jù)到另一個環(huán)境
對于新創(chuàng)建的云壞境,如果想要在這個壞境上進行測試,你會發(fā)現(xiàn)這個新創(chuàng)建的壞境數(shù)據(jù)庫,存儲,以及云函數(shù)都是空的
對于云函數(shù)端的代碼,在小程序端重新進行一次上傳部署就可以了的,如果發(fā)現(xiàn)功能異常,排查一下是不是一些第三方的包沒有安裝的
對于重新創(chuàng)建的一個壞境中的數(shù)據(jù)庫集合,存儲都是空的,針對數(shù)據(jù)庫中的集合,難道需要重新手動的添加數(shù)據(jù)進去?
肯定是不會這樣的 在云控制臺中,提供了一個導入導出的功能,導出的數(shù)據(jù)格式是 JSON 對象形式的
你將其中一個壞境中的數(shù)據(jù)庫集合導入到另一個壞境中去就可以了的
注意
你想要在哪個壞境上進行測試,就把小程序端 app.js 中的 env 的 ID 換成你想要的 ID 的
//app.js
App({
onLaunch: function () {
if (!wx.cloud) {
console.error('請使用 2.2.3 或以上的基礎(chǔ)庫以使用云能力')
} else {
wx.cloud.init({
// env 參數(shù)說明:
// env 參數(shù)決定接下來小程序發(fā)起的云開發(fā)調(diào)用(wx.cloud.xxx)會默認請求到哪個云環(huán)境的資源
// 此處請?zhí)钊氕h(huán)境 ID, 環(huán)境 ID 可打開云控制臺查看
// 如不填則使用默認環(huán)境(第一個創(chuàng)建的環(huán)境)
env: 'xxxx', // 小程序端填寫壞境的ID
traceUser: true,
})
}
},
})
復制代碼
現(xiàn)在的云開發(fā)已經(jīng)提供了 CMS 內(nèi)容管理能力
結(jié)語
本文主要介紹了小程序-云開發(fā)-如何切換開發(fā)(測試)壞境與生產(chǎn)壞境
很多小程序的開發(fā)者或許就是一個人,本地開發(fā)版本與線上版本就是共用一個的
若涉及到多人協(xié)作小程序開發(fā),是必須有兩個壞境的,一個是本地開發(fā)(測試)版本,另一個是線上穩(wěn)定版本(線上版本是不可以隨意更改的
也就是不能出現(xiàn)本地開發(fā)數(shù)據(jù)的 curd(增刪改查),影響線上的版本)
在云開發(fā)控制臺,可以新增一個云壞境,這個云壞境的名稱一旦確定了,便無法更改,在命名上需要遵循一定的規(guī)范,最終發(fā)布的小程序版本,以其中一個為最終的版本
也知道了怎么將其中一個壞境中的數(shù)據(jù)集合導入到另一個壞境當中去的
更多內(nèi)容,您可關(guān)注微信itclanCoder公眾號,一個只傳遞和分享給你帶來啟發(fā)智慧有用的號
相關(guān)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站優(yōu)化公司
- 網(wǎng)站建設(shè)專業(yè)品牌
- 云南網(wǎng)站建設(shè)專業(yè)品牌
- 百度小程序開發(fā)
- 報廢車拆解回收管理系統(tǒng)
- 小程序開發(fā)公司
- 小程序用戶登錄
- 電商網(wǎng)站建設(shè)
- 昆明網(wǎng)絡(luò)公司
- 大理小程序開發(fā)
- 小程序模板開發(fā)公司
- 模版信息
- 云南小程序開發(fā)費用
- 搜索引擎優(yōu)化
- 網(wǎng)站搭建
- 云南科技公司
- 汽車報廢管理
- 云南網(wǎng)站建設(shè)哪家好
- 云南建設(shè)廳官方網(wǎng)站
- 昆明小程序公司
- 開發(fā)框架
- 手機網(wǎng)站建設(shè)
- 生成海報
- 軟件開發(fā)
- 云南網(wǎng)站建設(shè)哪家公司好
- 汽車報廢管理系統(tǒng)
- 云南網(wǎng)站建設(shè)選
- 智慧農(nóng)貿(mào)市場
- 小程序定制
- 云南網(wǎng)站制作