問(wèn)題描述
以官方提供的“小程序云開發(fā)快速啟動(dòng)模板”為例肢础。
獲取openid失斄蘖:
進(jìn)行“點(diǎn)擊獲取openid”測(cè)試失敗放前,出現(xiàn)下圖所示的提示男翰,并且控制臺(tái)會(huì)提示以下錯(cuò)誤信息:
VM86:1 [云函數(shù)] [login] 調(diào)用失敗 Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail cloud function service error code -504002, error message Function not found: [login]; at cloud.callFunction api;
出錯(cuò)原因
云端運(yùn)行環(huán)境為 Node.js
,需要先在本地安裝 Node.js
和 npm
才能順利測(cè)試囊陡。同時(shí)還要在云函數(shù)目錄下安裝 wx-server-sdk
依賴:
npm install --save wx-server-sdk
詳細(xì)內(nèi)容參見官方文檔https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-server-api/
解決方案
- 安裝
node.js
和npm
- node.js 下載地址
https://nodejs.org/en/ - 安裝node.js時(shí)會(huì)同時(shí)安裝npm
- 測(cè)試安裝是否成功
安裝完成后打開cmd:
輸入node -v
來(lái)測(cè)試 node.js
輸入npm -v
來(lái)測(cè)試 npm
- 安裝
wx-server-sdk
依賴芳绩。
在cmd中首先通過(guò)
cd 云函數(shù)路徑
的命令,定位到云函數(shù)目錄撞反,這里要定位到某個(gè)具體的云函數(shù)文件夾內(nèi)妥色,如login
函數(shù)則要定位到login文件夾內(nèi)。然后再執(zhí)行npm install --save wx-server-sdk
命令遏片,安裝wx-server-sdk
依賴嘹害。對(duì)于每一個(gè)你創(chuàng)建云函數(shù)都要安裝該依賴撮竿。如果在執(zhí)行安裝命令后出現(xiàn)類似錯(cuò)誤提示:
rollbackFailedOptional: verb npm-session ****************
,這是由于npm
官方庫(kù)是國(guó)外的網(wǎng)站笔呀,在訪問(wèn)時(shí)可能由于網(wǎng)絡(luò)原因?qū)е庐惓幢踏!?br> 解決方案:執(zhí)行npm config set registry "http://registry.npm.taobao.org"
命令,將官方庫(kù)替換為淘寶庫(kù)即可凿可。執(zhí)行命令后可能會(huì)出現(xiàn)以下警告:
npm WARN **** No description
npm WARN **** No repository field
直接忽略即可惑折,并不會(huì)影響后續(xù)的云函數(shù)功能授账。成功安裝依賴后枯跑,相應(yīng)的云函數(shù)文件夾將生成一個(gè)package-lock.json
文件。
- 上傳云函數(shù)
- 在相應(yīng)的云函數(shù)文件夾上右鍵白热,選擇“上傳并部署:所有文件”敛助。
-
最終測(cè)試
進(jìn)行“點(diǎn)擊獲取openid”測(cè)試,如圖所示屋确,成功調(diào)用云函數(shù)纳击,并獲取openid,說(shuō)明開發(fā)環(huán)境配置成功攻臀。