Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么angular项目中的javascript文件没有被标识为javascript?_Angular_Asp.net Core_Angular7 - Fatal编程技术网

为什么angular项目中的javascript文件没有被标识为javascript?

为什么angular项目中的javascript文件没有被标识为javascript?,angular,asp.net-core,angular7,Angular,Asp.net Core,Angular7,我一直在将Angular 7项目集成到ASP.NET核心MVC项目中,但最近遇到了一个问题。在测试解决方案时,我遇到了一个问题,Edge给出了一个HTTP404错误。在Firefox上测试时,Javascript控制台发出警告消息,读取的Javascript文件被标识为HTML文件。 我所做的唯一操作是构建Angular项目,将Angular项目复制到ASP.NET核心项目的子文件夹中,然后将构建的文件添加到razor文件中。razor文件: @{ ViewData["Titl

我一直在将Angular 7项目集成到ASP.NET核心MVC项目中,但最近遇到了一个问题。在测试解决方案时,我遇到了一个问题,Edge给出了一个HTTP404错误。在Firefox上测试时,Javascript控制台发出警告消息,读取的
Javascript文件被标识为HTML文件。
我所做的唯一操作是构建Angular项目,将Angular项目复制到ASP.NET核心项目的子文件夹中,然后将构建的文件添加到razor文件中。razor文件:

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

<h1>This is the Index page</h1>
@section Scripts{
    <script src="~/ClientApp/dist/frontend/runtime.js"></script>
    <script src="~/ClientApp/dist/frontend/polyfills.js"></script>
    <script src="~/ClientApp/dist/frontend/styles.js"></script>
    <script src="~/ClientApp/dist/frontend/vendor.js"></script>
    <script src="~/ClientApp/dist/frontend/main.js"></script>
}
@{
ViewData[“Title”]=“主页”;
}
这是索引页
@节脚本{
}
有人能解释一下我哪里出了问题吗?

也许你需要在web.config上这样做:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="angular-application" stopProcessing="true">
          <match url="angular-application/(.*)" />
          <action type="Rewrite" url="ClientApp/dist/frontend/{R:1}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
<configuration>
@section Scripts{
    <script src="angular-application/runtime.js"></script>
    <script src="angular-application/polyfills.js"></script>
    <script src="angular-application/styles.js"></script>
    <script src="angular-application/vendor.js"></script>
    <script src="angular-application/main.js"></script>
}

然后像这样导入:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="angular-application" stopProcessing="true">
          <match url="angular-application/(.*)" />
          <action type="Rewrite" url="ClientApp/dist/frontend/{R:1}" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
<configuration>
@section Scripts{
    <script src="angular-application/runtime.js"></script>
    <script src="angular-application/polyfills.js"></script>
    <script src="angular-application/styles.js"></script>
    <script src="angular-application/vendor.js"></script>
    <script src="angular-application/main.js"></script>
}
@节脚本{
}

如果您想访问
wwwroot
之外的文件夹,假设
ClientApp
文件夹,您需要在启动时配置
app.UseStaticFiles()

public void Configure(IApplicationBuilder app)
{
app.UseStaticFiles(); // For the wwwroot folder

app.UseFileServer(new FileServerOptions
{
    FileProvider = new PhysicalFileProvider(
        Path.Combine(Directory.GetCurrentDirectory(), "ClientApp")),
    RequestPath = "/ClientApp",
    EnableDirectoryBrowsing = true
});
}

请参阅

您是否已将其放入wwwroot文件夹?为什么不在visual studio中使用Angular和ASP.Net Core的内置模板?@TonyNgo ASP.Net Core的Angular模板(截至撰写时)不包括Angular 7或8,我目前正在使用Angular 7。模板主要使用角度6。此外,我想在razor页面中使用Angular,模板没有明确说明这一点。@Boolean asp.net core确实使用webconfig。将web应用部署到服务器时,只需使用默认的webconfig即可。因此,要从主机覆盖webconfig,您可以创建自己的webconfig