【问题标题】:The default ASP.NET Core + React template in Visual Studio 2019 doesn't workVisual Studio 2019 中默认的 ASP.NET Core + React 模板不起作用
【发布时间】: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,但没有任何改变。每次运行都会出现同样的错误。

【问题讨论】:

标签: c# reactjs asp.net-core npm visual-studio-2019


【解决方案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");
            }
        });

【讨论】:

    猜你喜欢
    • 2021-09-02
    • 2019-06-27
    • 2020-02-22
    • 2021-06-23
    • 1970-01-01
    • 2020-08-23
    • 2018-07-13
    • 2017-11-27
    • 2020-11-13
    相关资源
    最近更新 更多