Visual Studio 2019 中默认的 ASP.NET Core + React 模板不起作用

Posted

技术标签:

【中文标题】Visual Studio 2019 中默认的 ASP.NET Core + React 模板不起作用【英文标题】:The default ASP.NET Core + React template in Visual Studio 2019 doesn't work 【发布时间】:2020-09-27 19:32:31 【问题描述】:

从 Visual Studio 2019 创建默认项目后:

ASP.NET Core Web 应用程序

然后使用 React 默认模板(The Weather Forecast one)创建一个项目,我立即运行它,无需修改任何内容。

它构建时没有错误,但是在浏览器中运行并打开一个选项卡时,我得到一个错误:

compiler.hooks.done.tap('done', async stats => 
^^^^^

SyntaxError: missing ) after argument list  
at createScript (vm.js:56:10)   
at Object.runInThisContext (vm.js:97:10)   
at Module._compile (module.js:542:28)   
at Object.Module._extensions..js (module.js:579:10)   
at Module.load (module.js:487:32)  
at tryModuleLoad (module.js:446:12)   
at Function.Module._load (module.js:438:3)  
at Module.require (module.js:497:17)   
at require (internal/module.js:20:19)

我什至尝试从 NuGet 包安装最新版本的 npmreact.core,但没有任何改变。每次运行都会出现同样的错误。

【问题讨论】:

您是在问我们如何修复语法错误吗?为此,我们需要查看minimal, reproducible example。 【参考方案1】:

我经常使用模板,包括 React。您可以尝试以下两件事。

模板一直在得到修复和更新,尤其是那些依赖于外部框架(如 React)的模板。例如,我记得几个月前,当 React 没有在一个全新的项目上工作时。我记得,在另一个新模板创建的项目中,即使引导程序也不能开箱即用。只是为了确保在看到您的问题后,我在 Visual Studio 中创建了一个新的 React 应用程序并且它运行良好。

因此,解决方案 #1 - 更新您的 Visual Studio 安装。我很确定您使用的是过时版本的模板。

好的,现在,如果您仍然遇到错误怎么办。或者,当模板损坏时,我做了什么。简单。请记住,该模板旨在帮助您,但它不是实际使用您想要的框架的方式。请注意,您可以将任何时间的 JS 框架添加到您的 dot net core。

所以,解决方案 #2

在您的情况下,react 是一个单页应用程序。在这里讨论 - What is the difference between UseStaticFiles, UseSpaStaticFiles, and UseSpa in ASP.NET Core 2.1?

另一个发生类似讨论的地方在这里 - https://www.roundthecode.com/dotnet/add-a-react-app-to-your-asp-net-core-application

本质上,您为 React SPA 创建一个文件夹并执行类似的操作。这里的“ClientApp”是您添加反应项目的文件夹。

        app.UseSpa(spa =>
        
            spa.Options.SourcePath = "ClientApp";

            if (env.IsDevelopment())
            
                spa.UseReactDevelopmentServer(npmScript: "start");
            
        );

【讨论】:

以上是关于Visual Studio 2019 中默认的 ASP.NET Core + React 模板不起作用的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 2019 中编译默认 Angular 项目时未找到(但已安装)node.js

轻松进行WPF界面开发,Visual Studio 2019主题和新的默认主题

轻松进行WPF界面开发,Visual Studio 2019主题和新的默认主题

Visual Studio 2019正在引发有关具有没有默认值的变量的结构的警告

Visual Studio 2019 UTF-8编码调试显示中文

怎样visual studio2019