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

azure-function-express及@bittrance/azure-function-express不支持新版Node.js求替代方案

替代方案:将Express应用适配到Azure Functions(支持最新Node.js)

方案一:手动适配HTTP触发器(无第三方依赖)

无需依赖停止维护的第三方包,直接在Azure Function的HTTP触发器中完成请求/响应对象的适配,让Express应用正常处理请求。

代码示例:

const app = require('../intezUserServiceLib/index');

module.exports = async function (context, req) {
  return new Promise((resolve, reject) => {
    // 封装Azure Function的响应对象,适配Express的res方法
    const adaptedRes = {
      ...context.res,
      end: (data) => {
        context.res.body = data;
        resolve();
      },
      send: (data) => {
        context.res.body = data;
        resolve();
      },
      json: (data) => {
        context.res.body = JSON.stringify(data);
        context.res.headers['Content-Type'] = 'application/json';
        resolve();
      },
      status: (code) => {
        context.res.status = code;
        return adaptedRes;
      },
      set: (key, value) => {
        context.res.headers[key] = value;
        return adaptedRes;
      }
    };

    // 让Express处理当前请求
    app(req, adaptedRes, (err) => {
      if (err) {
        context.res.status = 500;
        context.res.body = err.message;
        resolve();
      }
    });
  });
};

方案二:使用Azure Functions官方Express集成

借助@azure/functions包的原生能力,直接将Express应用挂载到Azure Functions的HTTP路由上,完全支持最新Node.js版本。

代码示例:

const { app: funcApp } = require('@azure/functions');
const app = require('../intezUserServiceLib/index');

// 挂载Express应用到所有HTTP路由
funcApp.http('expressIntegration', {
  methods: ['GET', 'POST', 'PUT', 'DELETE'],
  route: '{*route}',
  handler: async (context) => {
    return new Promise((resolve) => {
      app(context.req, context.res, () => resolve());
    });
  }
});

方案三:迁移至Azure App Service

如果你的业务无需Azure Functions的事件驱动特性,直接将Express应用部署到Azure App Service是最省心的选择——完全兼容最新Node.js版本,无需任何适配代码,直接按标准Express应用部署即可。


内容的提问来源于stack exchange,提问作者Gokul S Nair

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:57:17