我正在使用yo generator-aspnetcore-spa
一旦我运行应用程序我有问题
处理请求时发生未处理的异常。
NodeInvocationException:节点调用在60000ms后超时。 您可以通过设置更改超时持续时间 NodeServicesOptions上的InvocationTimeoutMilliseconds属性。
第一个调试步骤是确保Node.js正常运行 总是调用提供的回调(或抛出异常 同步),即使它遇到错误。否则,.NET 代码无法知道它已完成或已失败。 Microsoft.AspNetCore.NodeServices.HostingModels.OutOfProcessNodeInstance + d__13.MoveNext()
NodeInvocationException:节点调用在60000ms后超时。 您可以通过设置更改超时持续时间 NodeServicesOptions上的InvocationTimeoutMilliseconds属性。该 第一个调试步骤是确保您的Node.js始终起作用 调用提供的回调(或同步抛出异常), 即使它遇到错误。否则,.NET代码无法使用 知道它已经完成或已经失败。
和此行上的红色
AspNetCore._Views_Home_Index_cshtml + d__31.MoveNext()in Index.cshtml + ViewData ["标题"] ="主页&#34 ;;
这就是我的package.json的样子
{
"name": "WebApplicationBasic",
"version": "0.0.0",
"dependencies": {
"@angular/animations": "^4.3.0",
"@angular/common": "^4.3.0",
"@angular/compiler": "^4.3.0",
"@angular/core": "^4.3.0",
"@angular/forms": "^4.3.0",
"@angular/http": "^4.3.0",
"@angular/platform-browser": "^4.3.0",
"@angular/platform-browser-dynamic": "^4.3.0",
"@angular/platform-server": "^4.3.0",
"@angular/router": "^4.3.0",
"@types/node": "^7.0.38",
"angular2-template-loader": "^0.6.2",
"aspnet-prerendering": "^2.0.6",
"aspnet-webpack": "^1.0.29",
"awesome-typescript-loader": "^3.2.1",
"bootstrap": "^3.3.7",
"css": "^2.2.1",
"css-loader": "^0.28.4",
"es6-shim": "^0.35.3",
"event-source-polyfill": "0.0.9",
"expose-loader": "^0.7.3",
"extract-text-webpack-plugin": "^2.1.2",
"file-loader": "^0.11.2",
"html-loader": "^0.4.5",
"isomorphic-fetch": "^2.2.1",
"jquery": "^3.2.1",
"json-loader": "^0.5.4",
"ng-snotify": "^2.0.3",
"ngx-cookie": "^1.0.0",
"preboot": "^4.5.2",
"raw-loader": "^0.5.1",
"reflect-metadata": "^0.1.10",
"rxjs": "^5.4.2",
"style-loader": "^0.17.0",
"to-string-loader": "^1.1.5",
"typescript": "^2.4.1",
"url-loader": "^0.5.9",
"webpack": "^2.7.0",
"webpack-hot-middleware": "^2.18.2",
"webpack-merge": "^4.1.0",
"zone.js": "^0.8.14"
}
}
我的应用程序工作正常,我不知道这个问题的原因是什么
答案 0 :(得分:4)
问题出在aspnet-prerendering模块中 它在View>> Home>> Index.csHtml
中看起来像这样...
const svgElement = this.svg.nativeElement.childNodes[1].childNodes[1];
this.renderer.setElementClass(svgElement, "animated tada", true);
...
然后,当我删除它时,应用程序正常
<app asp-prerender-module="ClientApp/dist/main-server">Loading...</app>
但是当然没有服务器端渲染 所以当我从开发应用程序完成后,我在项目的根目录中编写此命令
<app>Loading...</app>
并恢复了
webpack --config webpack.config.vendor.js
webpack
它应该可以工作:)
答案 1 :(得分:4)
我们在Azure中托管我们的网站,我的解决方案是将此配置密钥/值添加到应用程序设置。
键:WEBSITE_NODE_DEFAULT_VERSION
价值:6.9.1
我想你也可以将它添加到appsetting.json或web.config中。
答案 2 :(得分:2)
我遇到了同样的问题。它可能是本地版本节点的问题。
我将本地nodejs版本设置为5.4.3并且能够让应用程序运行,尝试在控制台/终端上使用此版本检查节点版本:
node -v
我认为删除prerendering标记然后运行webpack可能仍然会从服务器端预呈现中排除该模块,所以希望更新的节点版本可以帮助按预期运行应用程序而无需更改代码。
这里也有类似的问题: NodeInvocationException: Attempt to connect to Node timed out
答案 3 :(得分:0)
这个问题不完全是答案,但我有同样的问题来到这里。
我安装了Windows HPC包,这意味着我的PATH上的node.exe是Windows HPC node command而不是第三方NodeJS node.exe
这意味着我在运行HPC节点命令时得到了超时,而不是使用NodeJS来运行webpack。为了解决这个问题,我从PATH环境变量中删除了路径并重新启动了Visual Studio。我可以重新排序路径,或重命名其中一个node.exe,但我不使用命令行中的HPC命令,只能从代码中使用。
讨论NodeJS https://github.com/nodejs/node-v0.x-archive/issues/7773
中的冲突