nodejs错误; Azure应用程序日志中的“在严格模式下使用常量”

juud5qan  于 2023-08-07  发布在  其他
关注(0)|答案(1)|浏览(92)

在将node/react应用程序部署到Azure Windows应用程序服务时,我注意到应用程序日志中存在以下错误。

Application has thrown an uncaught exception and is terminated:
SyntaxError: Use of const in strict mode.
    at Module._compile (module.js:434:25)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)
    at Function._load (module.js:311:12)
    at Module.require (module.js:359:17)
    at require (module.js:375:17)
    at Object.<anonymous> (C:\Program Files\iisnode\interceptor.js:459:1)
    at Module._compile (module.js:446:26)
    at Object..js (module.js:464:10)
    at Module.load (module.js:353:31)

字符串
一些较早的帖子建议这是过时的节点版本的问题,但是,我使用的是节点v18.3.0。我也看到它建议应该将标志'--strict_mode'传递给node,但其他帖子建议这现在与较新版本的node无关,因为默认情况下启用了严格模式。
我的Azure节点版本为WEBSITE_NODE_DEFAULT_VERSION:“~18.3.0”。我在我的节点应用程序中使用了typescript,我的.tsconfig如下所示;

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "outDir": "./build",
    "sourceMap": true,
    "strict": true,
    "esModuleInterop": true,
    "noImplicitAny": false,
    "allowJs": true,
    "moduleResolution": "node",
    "lib": [
      "es6", "dom", "dom.iterable"
    ],
    "downlevelIteration": true
  }
}


虽然我理解了严格模式的作用以及为什么会发生这个错误(一般来说),但我只是想了解在Azure中可能导致错误的原因以及如何解决它。

  • 谢谢-谢谢
huus2vyu

huus2vyu1#

是的,即使我已经注意到相同的javascript SyntaxError: Use of const in strict mode,然后我配置了"target": "es6"并重新启动我的应用程序,现在它的工作正常。
我和你一样配置了tsconfig文件。

的数据

  • 然后我更新了Azure Portal中的应用程序设置,如下所示。


  • 现在我没有任何问题与上述错误和Web应用程序是工作正常.



在应用程序中完成更改后,只需等待几分钟,然后重新部署应用程序。

相关问题