问题标签 [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.
authentication - IdentityServer4 分别对每个客户端进行身份验证
我使用两个不同的客户端。IdentityServer4 提供 API 保护和登录表单。我可以配置客户端以避免单点登录。我的意思是,即使我登录了第一个客户端,我也需要登录第二个客户端。
我的 ID4 配置:
所有客户端都有相同的注册码(可能是个问题):
任何帮助都会很有用。
reactjs - React+Redux 热模块替换因“_pendingForceUpdate”未定义而崩溃
我有一个以 asp.net 核心作为后端的 react/redux。热模块替换正在工作,但不幸的是,在某些时候对反应组件的任何更改都会卸载页面并在控制台中崩溃:
该项目是从 ASP.NET Core+React+Redux 应用程序的 Visual Studio 模板创建的。
我还注意到,它没有附加到服务器端渲染,早些时候,如果出现问题,VS 在导致问题的行上中断,没有.NET 异常只是以纯文本形式返回给浏览器。
老实说,我什至不知道要开始对此设置进行故障排除,有什么提示吗?
asp.net-core - 在 ASP.NET Core 2.0 和 Visual Studio 2017 中发布 dotnet 期间的 Aurelia 和 webpack
ASP.NET Core 2.0 项目引入了 Aurelia,使用
我想在发布解决方案时创建以下工件
我可以通过手动运行来实现
但是我想在发布时启动 webpack 构建:
我的最终目标是让 VSTS CI/CD 进程使用 MSBuild 自动捆绑上述要求的 SPA 文件。
请注意,在开发过程中,我已经通过热模块更换
和
这按预期工作。但现在我需要在发布期间实现相同的目标。
作为快速修复,我添加了一个构建后事件
如何获得此处解释的自定义 MSBuild RunWebpack 目标?
angular - 带有 ASP.NET Core 的 Angular 6,内部 CMD 无法正常工作
您好,我有Angular 6项目和ASP.NET Core 2.0。后端。在 Visual Studio 中工作。 没有服务器端渲染,只有 SPA。
当我运行我的项目(F5)时,ng serve
.Net 自动调用命令,代码如下。
生成新的命令行窗口,但样式(行重写、文本进度条……)似乎不起作用。
正常行为:在 CMD 中调用 ng serve
重要的:
两种解决方案都有效,没有区别,但我无法调试我的错误
有没有办法解决这个问题?让 VS CMD 像我的普通 CMD 一样做?
解决方案不需要与 Angular 相关。
谢谢你的时间。
卢博斯
c# - 如何将 Asp.net core SPA(单页应用程序)和 Asp.net core Web Application 合并到一个单独的项目中
我在解决方案文件夹中有两个独立的项目:项目 A.) SPA(基于 Asp.net core 2.0)。项目 B.) Asp.net 核心 Web 应用程序。
我希望它们合并到一个项目中。我试图将“项目 A”放入新创建的项目(Asp.net 核心 Web 应用程序)中的区域部分,但这不起作用。解决此问题的方法是什么。抱歉有任何语法错误。
signalr-hub - AspNetCore 上的 SignalR - 如何在运行时添加/修改路由
我想在运行时创建新路线。有没有办法MapHubs
在运行时添加?
谢谢
vue.js - 使用 ASP.NET Core 2 的服务器端渲染 Vue
我试图了解使用 aspnet 核心时使用 vuejs 进行服务器端渲染的用法和限制。
我使用这个用于 aspnet 核心和 vuejs 的入门工具包来设置一个简单的 vue 站点,该站点基于此处的代码运行:https ://github.com/selaromdotnet/aspnet-vue-ssr-test/tree/master
然后我修改了项目以更新 aspnet-prerendering 并添加了 vue-server-renderer,编译了一个大杂烩来拼凑这个更新:https ://github.com/selaromdotnet/aspnet-vue-ssr-test/tree/ ssr
如果我运行这个项目,该站点似乎可以正常加载,并且如果我关闭浏览器中的 javascript,我可以看到服务器端渲染似乎已执行并填充了 html 结果:
然而,由于 JavaScript 被禁用,内容并没有被移动到 dom 中,因为它看起来正在尝试......
我对服务器端渲染的理解是,它将完全填充 html 并向用户提供完整的页面,这样即使 JS 被禁用,他们至少也能够看到该页面(特别是用于 SEO 目的)。我不正确吗?
现在我相信现代搜索引擎会执行这样的简单脚本来获取内容,但是如果禁用 js,我仍然不希望呈现空白页面......
这是服务器端渲染的限制,还是特别是带有 vue 和/或 aspnet 核心的 ssr?
还是我只是在某处错过了一步?
编辑:更多信息
我查看了源代码,我认为这是在此处预呈现该部分的方法:https ://github.com/aspnet/JavaScriptServices/blob/dev/src/Microsoft.AspNetCore.SpaServices/Prerendering/PrerenderTagHelper.cs
线
result.Html 的值为空。但是,当我手动编辑此值以放置测试值时,它也不会呈现到输出 html,并且 app div 标签仍然为空...
如果我在使用预期输出填充 result.Html 值时做错了什么,那是一回事,我会很感激这样做的一些帮助,特别是因为似乎找到了输出 html,因为它在脚本中立即跟随...
但是,即使我要填充它,它似乎也被跳过了,正如我手动更改值所证明的那样。这是代码中的错误还是我做错了什么,或者两者兼而有之?
angular - ASP.NET Core 2.1 Angular 6.0 SPA 模板 - 用于索引而不是静态页面的剃须刀页面 (cshtml)
我正在尝试将我的ASP.NET Core 2.0 Angular 5
应用程序与webpack
setup 迁移到ASP.NET Core 2.1 Angular 6
with Angular-Cli
。
简短的问题:
如何从cshtml
with强制解析 razor pages 指令Microsoft.AspNetCore.SpaServices.Extensions
?
我不想使用index.html
from Angular.json
,但是index.cshtml
.
详细描述:
我从Angular 模板开始了一个新的 ASP.NET Core 项目。有很多东西可以神奇地起作用。
- 文件夹内有一个
index.html
文件,该文件ClientApp/src
在应用程序启动时自动提供。 - 当应用程序运行时,在标签
</body>
之前index.html
(从第一点开始)插入几个脚本:、、、inline.bundle.js
和标签之前。polyfills.bundle.js
vendor.bundle.js
main.bundle.js
styles.bundle.css
</head>
我不确定是谁插入了这些脚本,但我想将它们插入 Razor 页面 ( cshtml
)。
我尝试使用旧项目中的代码:
并将索引选项Angular.json
指向此index.cshtml
:
问题是 ASP.NET Core 不处理内容(所有 @ 标记),但它输出直接内容:
但应该是:
我想将一些变量(来自 appsettings.json)打印到最后的 html 页面。由于我已经在使用 ASP.NET Core,因此 Razor 页面似乎是不错的解决方案。
我也尝试:
添加新的 RazorPage,处理 C# 内容(@指令),但没有人插入 Angular 脚本。
对 AndyCunningham 的回应:
ng build --prod
写这个文件:
到index.html
. 如何将此写入剃须刀页面。
asp.net-core - 谁在 ASP.NET Core Angular 模板项目中插入 Angular 脚本
我创建了一个新的ASP.NET Core 2.1 Angular项目。
- 有趣的是,里面有一个
index.html
文件ClientApp/src
作为默认页面托管。我想知道,index.html
默认情况下会触发哪些代码?
在我来自通用模板的旧应用程序中,使用了控制器和视图,这看起来比index.html
从客户端代码提供服务更自然。
- 运行应用程序时,某些代码会在文件末尾神奇地插入 Angular 脚本(
inline.bundle.js
、polyfills.bundle.js
、vendor.bundle.js
和) ?有人可以分享一些代码吗?main.bundle.js
styles.bundle.css
index.html
我想了解这一点,因为我想提供内容RazorPage
而不是 static index.html
,但为了尝试任何事情,我需要更多地了解这个模板背后的魔法。
c# - 为什么 SpaServices 似乎总是添加一个随机的不同端口?
自 Core 2.1 更新以来,出现了新的 Spa 模板。我已经试用了 Angular,并将其更新为 Angular 6。现在一切正常,除了每次进行更改时我都需要手动构建。这很奇怪,因为它以前可以很好地与 Angular 5 配合使用。我对此进行了一些调查,并在日志中发现了这一点:
Microsoft.AspNetCore.SpaServices:Information: > test@0.0.0 start C:[redacted]\Projects\test\test\ClientApp ng serve "--port" "62206"
** Angular Live Development Server 正在监听 localhost:62206,在http://localhost:62206/上打开浏览器**
如您所见,它将“--port”“62206”添加到ng serve
. 当我稍后访问http://localhost:62206/时,我可以看到我的网站并且实时更新似乎在那里工作!
我尝试重新启动我的服务器几次,我注意到每次它使用不同的端口。它几乎看起来是随机的。
更让我气愤的是,我的应用程序实际上是在 66230 端口上运行的!为什么 SpaServices 不只使用 IIS 端口?有没有办法手动更改它?因为如果我必须等待我的服务器启动,滚动输出以找到它选择的端口,在我的地址中输入它以便我可以调试,我会浪费很多时间和精力