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

Node.js TypeScript函数应用部署至Linux消费计划异常问题咨询

针对TypeScript Node.js函数应用Linux消费计划zipdeploy的特殊配置说明

核心问题原因

Linux消费计划的默认zipdeploy流程不会自动触发TypeScript编译,而Premium计划或az functionapp deployment source config-zip命令会自动处理编译环节,这就是同一份代码在不同环境/部署方式下表现差异的核心原因。

解决方法

  • 提前编译TypeScript并打包正确内容
    本地执行npm run build(或直接运行tsc)将TypeScript源码编译为JavaScript,默认输出到dist目录。打包时需包含以下内容:

    • dist目录(编译后的JS文件)
    • package.json、package-lock.json
    • host.json、local.settings.json(含必要配置时)
      不要仅打包.ts源码文件,否则Linux消费计划环境无法识别未编译的TypeScript代码。
  • 开启部署时自动编译
    在Azure函数应用的应用设置中添加配置项SCM_DO_BUILD_DURING_DEPLOYMENT=true。开启后,无论使用何种部署方式(包括curl的zipdeploy),Azure都会自动执行npm install安装依赖,并运行npm run build完成TypeScript编译,无需本地提前编译。

  • 确认curl请求的正确性
    确保curl请求的Content-Type头正确,命令示例:

    curl -X POST -u <发布用户名>:<发布密码> --data-binary @<你的zip包路径> -H "Content-Type: application/zip" https://<函数应用名>.scm.azurewebsites.net/api/zipdeploy
    

    发布用户名和密码可从Azure门户的函数应用部署中心获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 12:55:07