Asp.net core 如何在ASP.Net核心3.1 MVC应用程序(Razor view-*.cshtml)中调试JavaScript?

Asp.net core 如何在ASP.Net核心3.1 MVC应用程序(Razor view-*.cshtml)中调试JavaScript?,asp.net-core,debugging,razor,visual-studio-2019,razor-pages,Asp.net Core,Debugging,Razor,Visual Studio 2019,Razor Pages,我有最新的Visual Studio 2019 16.5.4 Enterprise 我刚刚从一个模板(带有默认设置)创建了一个ASP.Net Core 3.1 MVC应用程序 我在主页的Index.cshtml中添加了一些JavaScript代码: @{ ViewData["Title"] = "Home Page"; } <div class="text-center"> <h1 class="display-4">Welcome</h1>

我有最新的Visual Studio 2019 16.5.4 Enterprise

我刚刚从一个模板(带有默认设置)创建了一个ASP.Net Core 3.1 MVC应用程序

我在主页的Index.cshtml中添加了一些JavaScript代码:

@{
    ViewData["Title"] = "Home Page";
}

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>


@section Scripts {
    <script>
        function GetJSON_Simple() {
            var resp = [];           
            return resp;
        }

        debugger;
        var simpleData = GetJSON_Simple();

    </script>
}
@{
ViewData[“Title”]=“主页”;
}
欢迎
了解

@节脚本{ 函数GetJSON_Simple(){ var resp=[]; 返回响应; } 调试器; var simpleData=GetJSON_Simple(); }
而且我无法调试JavaScript代码(函数体内部或函数体上的断点永远不会被命中)。我试过Chrome和MS Edge(Chrome)

根据(使用Razor(ASP.NET)调试动态文件中的JavaScript部分):

放置调试器;要中断的语句:这会导致 在运行时立即停止执行并开始调试的动态脚本 它正在创建中

另外,我已经启用了启用ASP.NET(Chrome和IE)JavaScript调试的工具->选项->调试->常规复选框,当然我正在调试中编译

我的测试项目是

如何在ASP.Net核心3.1 MVC应用程序中调试JavaScript (Razor视图-*.cshtml)

事实上,这已经是一个众所周知的问题我们无法在Net Core razor页面下调试js代码,只能调试单独js或ts文件中的代码。请参阅

解决方案

为了解决这个问题,我建议您可以创建一个名为
test.js
的新js文件,然后在razor页面中引用它,然后在调试js代码时插入它

1)创建一个名为
test.js的文件,并将js代码迁移到其中:

 function GetJSON_Simple() {
            var resp = [];           
            return resp;
        }

        debugger;
        var simpleData = GetJSON_Simple();
2)更改在cshtml文件中使用此选项:

@{
    ViewData["Title"] = "Home Page";
}

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>


@section Scripts {
    <script scr="xxx/test.js">  
    </script>
}
@{
ViewData[“Title”]=“主页”;
}
欢迎
了解

@节脚本{ }
3)清理您的项目,然后重建
您的项目并调试它,然后您将进入Js代码

如何在ASP.Net核心3.1 MVC应用程序中调试JavaScript (Razor视图-*.cshtml)

事实上,这已经是一个众所周知的问题我们无法在Net Core razor页面下调试js代码,只能调试单独js或ts文件中的代码。请参阅

解决方案

为了解决这个问题,我建议您可以创建一个名为
test.js
的新js文件,然后在razor页面中引用它,然后在调试js代码时插入它

1)创建一个名为
test.js的文件,并将js代码迁移到其中:

 function GetJSON_Simple() {
            var resp = [];           
            return resp;
        }

        debugger;
        var simpleData = GetJSON_Simple();
2)更改在cshtml文件中使用此选项:

@{
    ViewData["Title"] = "Home Page";
}

<div class="text-center">
    <h1 class="display-4">Welcome</h1>
    <p>Learn about <a href="https://docs.microsoft.com/aspnet/core">building Web apps with ASP.NET Core</a>.</p>
</div>


@section Scripts {
    <script scr="xxx/test.js">  
    </script>
}
@{
ViewData[“Title”]=“主页”;
}
欢迎
了解

@节脚本{ }

3)清理你的项目,然后重建你的项目并调试它,然后你将进入Js代码。

谢谢。即使没有
调试器,调试现在也能正常工作代码行。跨过,跨进,去定义你在工作。不幸的是,我无法进行编辑并继续工作:(谢谢。即使没有
调试器;
代码行,现在调试也可以工作。请跳过,进入,转到定义。不幸的是,我无法进行编辑并继续工作:(