为什么来自 angular 项目的 javascript 文件没有被识别为 javascript?
Why are javascript files from angular project not being identified as javascript?
我一直在努力将 Angular 7 项目集成到 ASP.NET Core MVC 项目中,但最近 运行 遇到了一个问题。在测试解决方案时,我 运行 遇到了 Edge 出现 HTTP 404 错误的问题。在 Firefox 上测试时,Javascript 控制台给出一条警告消息,内容为 Javascript files are being identified as HTML files
。
我采取的唯一行动是构建 Angular 项目,将 Angular 项目复制到 ASP.NET Core 项目的子文件夹中,然后将构建的文件添加到 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>
}
谁能解释一下我哪里出错了?
也许您需要像这样 write rules 在您的 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>
}
如果您想访问 wwwroot
之外的文件夹,假设 ClientApp
foler,您需要在启动时配置 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
});
}
我一直在努力将 Angular 7 项目集成到 ASP.NET Core MVC 项目中,但最近 运行 遇到了一个问题。在测试解决方案时,我 运行 遇到了 Edge 出现 HTTP 404 错误的问题。在 Firefox 上测试时,Javascript 控制台给出一条警告消息,内容为 Javascript files are being identified as HTML files
。
我采取的唯一行动是构建 Angular 项目,将 Angular 项目复制到 ASP.NET Core 项目的子文件夹中,然后将构建的文件添加到 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>
}
谁能解释一下我哪里出错了?
也许您需要像这样 write rules 在您的 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>
}
如果您想访问 wwwroot
之外的文件夹,假设 ClientApp
foler,您需要在启动时配置 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
});
}