问题标签 [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.

0 投票
1 回答
1654 浏览

asp.net-core - 尝试在 ASP.NET Core 项目和 /api/values 其他地方提供 Index.html

我有一个 SPA 应用程序,它已加载到我的 /wwwroot 目录中,并且它有一个 index.html 文件,我希望默认加载它。然后我希望正常的控制器文件能够工作。这是控制器应该运行的默认值。下面是我的启动。它确实呈现 wwwroot/index.html 但随后 /api/values 不起作用(除非我注释掉 UseStaticFiles,然后 index.html 不会)。

如何让 index.html 加载以及值控制器工作。

启动.cs

值控制器...

0 投票
1 回答
22860 浏览

asp.net-core - 如何为 SpaServices 托管的多个 SPA 配置 ASP.net Core 服务器路由

我有一个 Angular 5 应用程序,我想使用最新的Angular 模板 RC在 ASP.net Core 上托管 Angular Universal 。我已经按照文档并启动并运行了应用程序。问题是我也在使用 Angular 的i18n 工具,它产生多个编译的应用程序,每个语言环境 1 个。我需要能够从https://myhost.com/{locale}/.

我知道我可以为每个语言环境启动一个 ASP.net Core 应用程序的实例,并在网络服务器中设置托管以使适当的路径路由到关联的应用程序,但这对我来说似乎太过分了。

路由配置为:

SpaServices 配置有:

我查看了 Github 上的文档和源代码,但找不到如何配置 ASP.net Core 以将特定路由与给定 SPA 关联。有人有想法么?

0 投票
5 回答
13199 浏览

reactjs - 如何在开发环境中更改创建 React 应用程序的 PublicPath

我正在使用Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-final它在内部使用Create-react-appAspnetCore.ReactDevelopmentServer

我的开发者 环境使用 IIS 来托管多个 api,例如 api1 作为http://localhost/api1和 api2 作为http://localhost/api2

问题是如果我将我的 React 应用程序从Microsoft.DotNet.Web.Spa.ProjectTemplates::2.0.0-rc1-final模板托管到http://localhost/myApp - 它希望文件始终使用 PublicPath "/" 和因此不起作用。

我知道Create-react-app的 Prod 设置使用来自 PUBLIC_URL 的PublicPath来自package.json 的Homepage 。

是否可以修改 create-react-app 设置以在 Dev 中使用自定义公共路径。环境?

0 投票
1 回答
703 浏览

node.js - 从 Node 到 ASP.NET Core REST API 的通信

我正在构建一个使用 REST 服务获取数据的 NodeJS 应用程序。也就是说,我想将GET数据POST从运行在端口 80 上的 Node 实例传输到运行在同一物理服务器上的 ASP.NET Core Web 服务器。

我知道我可以将来自某个目录的所有调用代理/mysite.com/api/products到某个端口,比如/mysite.com:5000/products我的 Node/Express 端。

我的问题是,如果我这样做,假设 Node 服务器上的唯一传入端口是 80,我会遇到防火墙问题吗?也就是说,在外部我无法访问端口 5000,但我确实希望我的 Node 服务器能够访问端口 5000,这是我的 ASP.NET Core 服务器将在防火墙后面运行的端口。

最后,我想出去吃午饭吗?我的目标只是让我的节点 javascript 应用程序对我的 ASP.NET Core 网站进行尽可能简单的休息调用。

0 投票
1 回答
643 浏览

webpack - 无法在 Angular 5 aspnet 预渲染中解析 node_modules\@angular\platform-server\bundles 中的 @angular/http

我在 ASPNET Core 中使用带有 spatemplates 的 Angular 5。一旦我更新了包并修改了 webpack.config.js 。我正在尝试运行——

生成 main-server.js 和 vendor.js。但是我收到以下错误。为什么会被抛出?

我的 package.json:

0 投票
1 回答
431 浏览

asp.net - 带有实体框架 6 的 Asp.Net 身份

在我的解决方案中,我正在使用

  • ef6 用于针对完整 .NET 框架的持久性库
  • 对于 Web API => ASPNetCore 针对完整的 .NET 框架

现在,当涉及到使用 aspnetcore 身份时,它依赖于 EFCore 2.0,当在同一个 VS 解决方案中同时使用 EF6 和 EFCore 时,VS 无法进行迁移 - 这会导致命令行错误。

我有以下选择:

谢谢贾马尔

0 投票
2 回答
3876 浏览

c# - 在基于 Angular Cli 的应用程序中将数据从 ASP.NET Core 传递到 Typescript

我正在尝试设置一个 SPA,我可以在其中将数据从我的 appsettings.json 传递到服务器渲染上的客户端。我按照步骤使用新的 SpaServices 模板配置 SSR

https://docs.microsoft.com/en-us/aspnet/core/spa/angular

但是我不明白如何完成此处标记的任务

您可以通过 Angular 支持的任何方式将其传递给应用程序的其他部分

我看到使用的示例是 base_url,但似乎 base 作为 DOM 元素注入页面

但目前尚不清楚如何以这种方式阅读其他项目。我正在测试是否通过应用程序是 Https,我的 Startup.cs 中有这一部分

在 main.server.ts

但在 main.ts 中我迷路了,我有这样的东西

我不确定 SpaServices 如何将 Prerender 上的值注入应用程序(我查看了代码,但我不清楚)。价值是放在窗户上的吗?如何读取值以便可以注入组件的构造函数?

0 投票
0 回答
772 浏览

angular - Angular 5 + AspNetCore + SpaServices + cshtml 这个可以吗?

这是一个两部分的问题...

1) 关于 Angular 5/6 功能以及 Angular Universal 和服务器端渲染。

2) 关于 Microsoft.AspNetCore.SpaServices 及其对 cshtml 页面/将预渲染剃刀视图注入 Angular 的支持。

使用 Angular 5 或 6 与 Angular Universal 进行服务器端渲染调用 cshtml 页面?

目标

  • 将 Angular 和 Asp.Net Core 合并到一个项目中(不仅用于 API 使用,还用于服务器端 HTML 渲染)

  • 不要使用现有的 Microsoft.AspNetCore.SpaTemplates Angular 入门模板,因为它增加了一些我不需要的额外复杂性。

  • 利用 Asp.Net Core Razor 的优势进行部分视图渲染和操作,然后将渲染的 HTML 发送回 Angular 客户端

  • Angular 客户端应该能够从服务器注入渲染的 HTML,然后继续 DOM 操作、绑定等。

我的进步

我已经成功创建了一个基本的 Asp.Net Core 项目,然后手动集成了 Angular。

步骤是:

  • 创建 Asp.Net 核心项目,然后使用 angular-cli 在同一目录下创建一个新项目“ ng new MyAngularApp --minimal

  • 手动将生成的 MyAngularApp 中“src”文件夹中的所有文件复制到 Asp.Net Core 新文件夹“ClientApp”中

  • 然后将 json 配置文件(angular-cli、package 和 tsconfig)复制到 Asp.Net 项目的根目录中。

Angular 5 将配置文件与 asp.net 核心合并

我发现如何做到这一点的最佳参考是Shawn Wildermuth 的 Pluralsight 教程“使用 ASP.NET Core、MVC、Entity Framework Core、Bootstrap 和 Angular 构建 Web 应用程序” - https://app.pluralsight.com/library/课程/aspnetcore-mvc-efcore-bootstrap-angular-web/table-of-contents (查看关于使用 Angular 进行客户端开发的章节) - 作为记录,我与 Pluralsight 或 Shawn 没有任何关系

问题/问题

我理解使用 Node.js 作为 Angular Universal 的后端,但我认为在 Asp.Net Core 世界中,通过 Razor Page 呈现 html 是一个完全有效的案例。

  • 问题:我可以使用 Microsoft.AspNetCore.SpaServices ( https://github.com/aspnet/JavaScriptServices ) 调用 cshtml 页面或调用服务器 url 路径,然后将其呈现在服务器上,然后通过 SpaService 将 HTML 注入角框架。

这是 Angular 组件的示例 在此处输入图像描述

0 投票
3 回答
2849 浏览

c# - 由于 appsettings.json 的路径,add-migration 无法从文件 appsettings.json 中读取连接字符串

工具:VS2017、ASP.NET Core 2、Entity Framework Core 2、ASP.NET Core JavaScript Services

我正在使用以下 BuildWebHost 方法:

为了加载连接字符串,我在 ConfigureServices (startup.cs) 中有以下代码:

使用上述配置,应用程序在调试模式和 Windows 服务(发布后)下运行没​​有问题。

但是,如果我运行 add-migration,该工具将无法从 appsettings.json 加载连接字符串:

在此处输入图像描述

如果我这样评论以下行

add-migration 运行没有问题,但应用程序作为“Windows 服务”运行不是因为它找不到 appsettings.json 文件。

如何修改配置以便不再需要注释上述行?

谢谢你。

迈克尔

0 投票
0 回答
380 浏览

asp.net - 未定义窗口(使用 Asp.Net SPA 服务进行服务器端渲染)

谢谢你们阅读我的问题。真的希望能解决这个问题,我几天来一直试图找到解决方法,但无济于事。

下面是概要:我的目标是使用 .NET Core 在服务器端呈现 React 应用程序。我什至还没有开始使用 react 部分,现在我只是尝试使用 ASP.NET Javascript Services Prerendering 功能呈现一个 h1 标记。

在我的第一次迭代中,我用 es5 编写了我的 boot-server.js 文件,它运行良好。然而,我很快意识到我需要通过 webpack 编译文件,以便它理解我的 React 代码。

不过,当我通过 webpack 传输该文件时,我得到了一个“未定义窗口”错误,我无法修复该错误。我知道我的应用程序的一部分不应该知道窗口对象,因为它存在于服务器中,但是将 webpack 配置的目标字段设置为节点似乎并不能解决问题。以下是所有涉及的文件。

这是我的 boot-server.js 文件:

这是我的cshtml视图:

这是我的 webpack.config.js 文件:

这是错误页面的屏幕截图: 错误页面