You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure函数门户“代码+测试”修改代码后不生效求助

Azure函数代码修改后测试不生效的原因分析

以下是几种常见的导致修改代码后测试仍运行旧版本的原因:

  • 未触发编译构建流程:你使用的TypeScript是编译型语言,在“代码+测试”编辑器保存源码后,需要触发构建步骤将TS编译为JS文件。如果仅保存了TS源码但未执行构建,函数运行的还是之前编译好的旧JS文件。

  • 运行实例缓存未刷新:函数应用的运行实例可能缓存了旧代码。尤其是在消耗计划下,热启动的实例会复用之前的代码缓存,新修改的代码需要等到实例重启或缓存过期才会生效。

  • 前端保存未同步到实际文件系统:界面显示保存成功,但实际函数应用的服务器文件系统并未同步到最新代码。可能是平台内部同步延迟或临时故障导致的。

  • 函数入口配置错误:检查function.json里的scriptFile配置,确认它指向的是编译后的正确文件路径(比如dist/sealWorkerFunction.js)。如果编译后的文件未更新,或者入口路径配置错误,就会一直运行旧代码。

  • 部署槽位不匹配:如果你的函数应用使用了部署槽,可能你在编辑的是测试槽的代码,但测试运行的是生产槽的实例,自然看不到修改效果。

附你提供的示例代码:

import { AzureFunction, Context, HttpRequest } from "@azure/functions";
import { workerExec } from "./worker";

const sealWorkerFunction: AzureFunction = async function (
  context: Context,
  req: HttpRequest
): Promise<void> {
  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 req body for a personalized response.";

  context.log(`Http function processed req for url "${req.url}"`);

  const message = req.body;
  context.log("type of message: ", typeof message);
  context.log("Test123 my message: ", message);


  context.res = {
    // status: 200, /* Defaults to 200 */
    body: responseMessage,
  };
};

export default sealWorkerFunction;

内容的提问来源于stack exchange,提问作者Kid_Learning_C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 07:16:12