[英]Can't Debug Azure JavaScript Function using Visual Studio Code
我第一次使用 VS 代碼並嘗試使用 JavaScript 語言創建 azure function。 我關注了這篇文章。
環境:
問題:
我創建了一個示例 azure function。當使用 f5 運行應用程序時,它顯示以下錯誤
我從host.json
中刪除了擴展包配置,然后重試。 這次,我收到以下錯誤
誰能幫我這個
更新:
主機.json
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[2.*, 3.0.0)"
}
}
local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "",
"FUNCTIONS_WORKER_RUNTIME": "node"
}
}
索引.js
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
const name = (req.query.name || (req.body && req.body.name));
const responseMessage = name
? "Hello, " + name + ". This HTTP triggered function executed successfully."
: "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
context.res = {
// status: 200, /* Defaults to 200 */
body: responseMessage
};
}
這是我按照問題中給出的相同文檔使用 Visual Studio Code 運行 JavaScript Stack 的 Azure 函數的解決方法
先決條件:
node -v
和npm -v
從命令提示符驗證安裝。單擊獨立安裝程序從此處安裝Azure 存儲模擬器(已棄用但仍用於本地開發和測試)。 - 安裝 Azure 存儲模擬器后,確保它正在運行。 如果它已關閉,則手動運行它。 要啟動 Azure 存儲模擬器:
Azure Storage Emulator
。Start
> Enter 並關閉 Window。 從源安裝用於舊版本和新版本堆棧開發的Azure Functions Core Tools v3 和 v4,並在命令提示符下使用func --versio
n 命令檢查版本。
在轉到 IDE (VS Code/Visual Studio) 之前,請遵循此先決條件檢查。
索引.js
module.exports = async function (context, req) {
context.log('JavaScript HTTP trigger function processed a request.');
const name = (req.query.name || (req.body && req.body.name));
const responseMessage = name
? "Hello, " + name + ". This HTTP triggered function executed successfully."
: "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
context.res = {
// status: 200, /* Defaults to 200 */
body: responseMessage
};
}
local.settings.json
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"FUNCTIONS_WORKER_RUNTIME": "node"
}
}
主機.json
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingSettings": {
"isEnabled": true,
"excludedTypes": "Request"
}
}
},
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[2.*, 3.0.0)"
}
}
host.json
中刪除擴展包要運行 Function、go 到運行菜單 > Select 選項Start Debugging
或Run without Debugging
,我在沒有啟動 VS 代碼的情況下運行它,它在本地成功運行。
在代碼的任意行和 select 中放置一個斷點從Run
菜單Start Debugging
選項
注意:對於類似的錯誤: A host error has occurred during startup operation
, Value cannot be null
,幾個解決步驟是:
AzureWebJobsStorage
的值默認為空,但如果我們在本地使用該項目,最好使用 like "AzureWebJobsStorage": "UseDevelopmentStorage=true"
您可以從我的GitHub Repository下載上述項目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.