问题标签 [asp-net-core-spa-services]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - 将 ng-bootstrap 集成到 ASP.NET Core JavaScript Services (Angular) 项目中
我正在使用带有Angular的 ASP.NET Core 2.0 的 JavaScript 服务并尝试集成ng-bootstrap。
我安装了ng-bootstrap
:
npm install --save @ng-bootstrap/ng-bootstrap
我将其添加到webpack.config.vendor.js
:
我添加NgbModule
到我的进口app.module.shared.ts
:
我清理解决方案并运行:
c:\...>webpack && webpack --config webpack.config.vendor.js
一切都很好。
跑步:
c:\...>dotnet run
尝试加载页面会导致以下错误:
NodeInvocationException:预渲染在 30000 毫秒后超时,因为“ClientApp/dist/main-server”中的引导函数返回了一个未解析或拒绝的承诺。
这显然与预渲染有关。所以我目前正在尝试创建一个ng-bootstrap
仅使用我想要使用的组件的模型,它不会调用任何承诺(或将使用立即解析的虚拟承诺),并且不会调用 DOM。这将被导入app.module.server.ts
...
...和标准...
...将在 中使用app.module.browser.ts
,而不是在中使用标准app.module.shared.ts
。
当然,这些都将在各自的app
模块中导入......
所以我的问题是,我错过了什么吗?除了像我上面描述的那样创建一个模型之外,还有更好的方法来处理这个问题吗?
angular - Angular 路由解析器 .NET Core 2 服务器端预渲染
我有一个从 .NET Core 2 Angular 模板生成的 Angular v4 应用程序。
该模板使用服务器端预渲染。
在导航到显示图像表(或更确切地说是图像记录)的页面之前,我正在尝试使用路由解析器获取数据。
每当我尝试使用解析器时,我都会从服务器端预渲染中获得 NodeInvocationException。
我是否需要在 HTTP 获取 URL 中提供完整路径(包括主机名)才能使其正常工作?
有关问题,请参阅底部的更新。
images.resolver.ts
图像.service.ts
图像路由.module.ts
更新
我试图在图像服务中附加 API 端点的基本 URL,但无济于事。我仍然得到同样的错误。
经过一番挖掘,我在错误信息中发现了这一点:
(未知 url)的 Http 失败响应:0 未知错误
我相信这条消息来自 Angular 的 HttpClient,但我不知道为什么会收到这个消息。
我试图访问的完整端点是:
https://localhost:44317/api/images/featured
另一个更新
我发现禁用 SSL 后一切正常。我不想让这个禁用。
在服务器端预渲染时,如何配置 Angular 通用/节点/水疗服务以使用 SSL?
angular - 在 aspnet 核心 SPA Angular 应用程序中返回 404 状态代码
我正在使用 Angular SPA 项目模板为 dotnet core(VS2017 和 dotnet core 2.0 中可用的模板)开发一个项目。
如果用户访问无效的 URL,我有一个 Angular 组件来显示“未找到”消息。
我还启用了服务器端预渲染。从服务器返回预呈现的“未找到”页面时,如何让它返回 404 的 HTTP 状态代码?
我发现的每种方法都使用 Express 作为后端网络服务器,我无法在 aspnet 核心后端找到任何资源来执行此操作。
谢谢你的帮助!
为清楚起见进行编辑:
我不希望为特定的 MVC 控制器操作或应用程序错误返回 404。
我希望从特定的 Angular2/4 组件返回 404,由Microsoft.AspNetCore.SpaServices在服务器端呈现。
作为比较,这里是一个使用 NodeJS 上的 Express Web 服务器和 Angular Universal 进行服务器端渲染的解决方案示例。
angular - Angular ng-version 未更新
我创建了一个新的 Angular 应用程序,使用它当前在 package.json 中dotnet new angular
指定 Angular 。4.2.5
我运行应用程序并查看源代码,这ng-version
是4.2.5
正确的。
然后我指定要4.4.6
在 package.json 中使用的 Angular:
我完全删除了node_modules
文件夹并运行npm install
. 安装后,我检查.\node_modules\@angular\common\package.json
并显示一个4.4.6
版本。但是,当我运行该应用程序时,ng-version
仍然显示4.2.5
. 为什么它仍然显示4.2.5
?我该如何解决?
angular - 如何在 Angular 5 中获取当前请求的 url (window.location)?
如何在 Angular 5 中获取当前请求的 url?
我尝试了一些在网上找到的解决方案,但似乎没有任何效果。- $window - 在 WindowRef 示例中包装原生窗口
我整个上午都在寻找这个,但对 Angular 来说有点陌生,并且在针对不同版本 Angular 的在线不同示例中迷失了方向。
更新:我正在使用 TypeScript
谢谢
angular - 未安装节点的 SpaServices 预期行为
我有几个使用 JavascriptServices 开发的 ASP.NET Core / Angular Web 应用程序。
根据角度模板中的默认行为,它们都使用服务器端预渲染。
当我将它们部署到没有安装 Node.js 的测试服务器时,其中一个在服务器上给出了运行时错误,抱怨它找不到 Node.exe,但另一个成功加载了 Angular 应用程序。
运行的使用 Microsoft.AspNetCore.SpaServices 1.1.2。不工作的使用 Microsoft.AspNetCore 2.0.1。
我不知道为什么其中一个作品。旧版本的 SpaServices 在找不到 Node.exe 时是否优雅地退回到不进行服务器端预渲染?
这种情况下的预期行为是什么?
angular - Angular 5 - 在 createServerRenderer 中使用服务中的值
我正在使用基于 .Net Core Angular CLI 的模板(https://github.com/aspnet/JavaScriptServices/issues/1288#issuecomment-346003334)。
对于服务器端渲染,此模板在main.server文件下方生成。
现在,我还需要返回 Http 状态码,例如找不到页面的 404。
为此,我在HttpStatusCodeService下面创建了:
并将其添加到 AppModule 的提供者中。
现在,我不确定如何从 HttpStatusCodeService 访问状态代码的值并在main.server文件中使用它。
我尝试将main.server文件修改为以下
但是为了使上面的代码工作,我们需要一个httpStatusCodeService的实例,我不知道如何在createServerRenderer中访问它。
有人可以帮忙吗?
c# - 是什么触发了在 HMR 中使用 SpaServices 重建 webpack-bundle?
我正在使用带有 Typescript/React/SpaServices/Webpack/HMR 的 ASP.Net Core。更改 tsx 文件时,HMR 会替换浏览器中的代码。
我的问题是什么功能/程序正在监视文件的更改然后触发重建?webpack 是否使用节点在后台运行?如果是这样,我可以看到该进程正在运行吗?日志等?