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

Azure托管Node.js应用报错:严格模式外暂不支持块级声明

解决Azure上Node.js应用的Block-scoped declarations语法错误

嘿,这个问题我之前帮不少开发者排查过,咱们一步步来搞定它!

错误原因先搞懂

你遇到的这个SyntaxError,核心原因是当前运行的Node.js版本不支持在非严格模式下使用let、const、class这类块级声明语法——大概率是Azure默认给你用了比较旧的Node.js版本(比如v6.x及以前),这些版本对ES6+语法的支持有限,必须在严格模式下才能识别块级声明。

三个解决方案任你选

1. 给代码开启严格模式(最快见效)

在你项目的主入口文件(比如app.js、server.js)的最顶部添加一行代码:

'use strict';

注意这行必须是文件的第一行(顶多上面可以加注释,但不能有空行)。开启严格模式后,旧版本Node.js就能正确解析let/const这些语法了。

2. 升级Azure上的Node.js版本(一劳永逸)

如果你的代码依赖更多ES6+特性,或者不想加严格模式,直接升级Node.js版本更省心:

  • 登录Azure门户,找到你的Web应用
  • 进入「配置」→「常规设置」
  • 在「Node.js版本」的下拉菜单里选一个较新的版本(比如v16.x或更高,根据你的代码兼容性来选)
  • 保存设置后重启应用,新的Node版本就会生效

3. 用package.json指定Node版本(避免部署踩坑)

在项目根目录的package.json里添加engines字段,明确告诉Azure你要用的Node版本:

{
  "name": "your-app-name",
  "version": "1.0.0",
  "engines": {
    "node": ">=16.0.0"
  },
  // 其他字段...
}

这样Azure部署应用时会优先使用你指定的版本,不会随便给你分配旧版本。

小提醒

如果是用Azure App Service部署的,修改版本或配置后一定要重启应用,不然设置不会生效哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:59:44