問(wèn)題描述
以官方提供的“小程序云開(kāi)發(fā)快速啟動(dòng)模板”為例。
獲取openid失?。?/p>

進(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)容參見(jiàn)官方文檔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è)試安裝是否成功
安裝完成后打開(kāi)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è)試
云開(kāi)發(fā)模板測(cè)試界面
進(jìn)行“點(diǎn)擊獲取openid”測(cè)試,如圖所示,成功調(diào)用云函數(shù),并獲取openid,說(shuō)明開(kāi)發(fā)環(huán)境配置成功。
成功調(diào)用login云函數(shù)并獲取到openid
