Azure未使用正确版本的节点

gra*_*bag 3 azure node.js npm

我的项目无法以天蓝色安装。我怀疑Azure使用的是错误版本的节点,并且正在崩溃。

我的设置:1)Azure门户,应用程序设置,已添加 WEBSITE_NODE_DEFAULT_VERSION 8.9.1 2)另外,已将添加 "engines":{"node": "8.9.3"}package.json

当我从Azure门户中选择控制台时,开发工具将:

节点-v
D:\ home \ site \ wwwroot
v0.10.40

kudu页面https://purple01.scm.azurewebsites.net/Env.cshtml报告的路径包含正确和不正确的节点版本。

路径= D:\ Program Files(x86)\ SiteExtensions \ Kudu \ 70.10102.3204 \ bin \ NativeBinaries / amd64; D:\ home \ site \ deployments \ tools; D:\ Program Files(x86)\ SiteExtensions \ Kudu \ 70.10102 .3204 \ bin \ Scripts; D:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin; D:\ Program Files(x86)\ Git \ cmd; D:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TestWindow; D:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ Tools \ Binn; D:\ Program Files(x86)\ Microsoft SDKs \ F#\ 3.1 \ Framework \ v4.0; D:\ Program Files(x86)\ Git \ bin; D:\ Program Files(x86)\ Git \ usr \ bin; D:\ Program Files(x86)\ Git \ mingw32 \ bin; D:\ Program Files(x86 )\ nodejs \ 0.10.28; D:\ Program Files(x86)\ npm \ 1.4.28; C:\ DWASFiles \ Sites#1purple01 \ AppData \ npm; D:\ Program Files(x86)\ bower \ 1.7.9 ; D:\ Program文件(x86)\ grunt \ 0.1.13; D:\ Program文件(x86)\ gulp \ 3.9.0.1; D:\ Program文件(x86)\ funcpack \ 0.2.2; D:\ Program Files(x86)\ nodejs \ 8.9.1; D:\ Windows \ system32; D:\ Windows; D:\ Windows \ System32 \ Wbem; D:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \; D: \ Program Files(x86)\ Git \ cmd; D:\ Users \ Administrator \ AppData \ Local \ Microsoft \ WindowsApps ;; D:\ Program Files(x86)\ dotnet; D:\ Windows \ system32 \ config \ systemprofile \ AppData \ Local \ Microsoft \ WindowsApps; D:\ Program Files(x86)\ PHP \ v5.6; D:\ Python27;

报告的唯一错误是在ftp://waws-prod-sn1-053.ftp.azurewebsites.windows.net/LogFiles/Application/logging-errors.txt上找到的文件中

Sat Jan 13 2018 00:53:57 GMT+0000 (Coordinated Universal Time): 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> (D:\Program Files (x86)\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)
Sat Jan 13 2018 02:17:45 GMT+0000 (Coordinated Universal Time): 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> (D:\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)
Run Code Online (Sandbox Code Playgroud)

不知道此错误是我的代码失败还是Azure代码失败。我的代码确实使用了严格的要求和许诺,例如许诺。所以我需要当前版本的节点。

关于Azure设置有什么问题的任何建议吗?

evi*_*obu 5

8.9.1App Service上未安装任何Node ,因此它默认为默认值(显然是0.10.40)。

您可以在此处查看可用(已安装)节点引擎的列表- https://{sitename}.scm.azurewebsites.net/api/diagnostics/runtime

改变WEBSITE_NODE_DEFAULT_VERSION阅读方式8.9.3,你应该很好。

node -v在Kudu中进行测试:

Kudu调试控制台

顺便说一句,您可以在此处查看日志流,而无需在问题上使用FTP- https://{sitename}.scm.azurewebsites.net/api/logstream

Azure门户中的Web应用程序下还有一个Log Stream刀片,可连接到同一终结点:

在此处输入图片说明