在将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中可能导致错误的原因以及如何解决它。
- 谢谢-谢谢
1条答案
按热度按时间huus2vyu1#
是的,即使我已经注意到相同的
javascript SyntaxError: Use of const in strict mode
,然后我配置了"target": "es6"
并重新启动我的应用程序,现在它的工作正常。我和你一样配置了tsconfig文件。
的数据
的
的
在应用程序中完成更改后,只需等待几分钟,然后重新部署应用程序。