javascript - 无法访问 ASP.NET MVC 中 View 文件夹内的 JavaScript 文件

标签 javascript asp.net angularjs asp.net-mvc asp.net-bundling

我正在尝试在我的 mvc 项目中添加 AngularJS。

这是我的捆绑配置

  public static void RegisterBundles(BundleCollection bundles) {

           bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

            bundles.Add(new ScriptBundle("~/bundles/angularjs").Include(
                       "~/Scripts/angular.js",
                        "~/Scripts/angular-ui-router.js"));

               bundles.Add(new ScriptBundle("~/bundles/appscripts").Include(
                   "~/Areas/app.module.js",
                   "~/Areas/app.component.js",
                   "~/Areas/app.routes.js",

     bundles.Add(new ScriptBundle("~/bundles/appcomponents").Include(
      "~/Areas/Home/Views/Default/default.component.js"));
        }

_Layout.cshtml

    @Scripts.Render("~/bundles/jquery")
    @Scripts.Render("~/bundles/angularjs")
    @Scripts.Render("~/bundles/appscripts")
    @Scripts.Render("~/bundles/appcomponents")
    @RenderSection("scripts", required: false)

我可以添加 ~/bundles/jquery~/bundles/angularjs~/bundles/appscripts

enter image description here

但我无法添加 ~/bundles/appcomponents 并且此脚本出现 404 错误。

enter image description here

我还尝试直接在_layout.cshtml中添加脚本文件

<script src="~/Areas/Home/Views/Default/default.component.js"></script>

我也遇到了同样的错误。

我不确定为什么无法从 Views 文件夹添加任何脚本。

任何人都可以告诉我如何在捆绑配置中添加此脚本文件吗?

最佳答案

出于安全原因,View 文件夹中的 web.config 会阻止从浏览器访问文件。但是,您可以将其配置为允许 -

<?xml version="1.0"?>

<configuration>
  <configSections>
  ...        
  <system.webServer>
    <handlers>
      <remove name="BlockViewHandler"/>
      <add name="BlockViewHandler" path="*.js" verb="*" 
          preCondition="integratedMode" 
          type="System.Web.HttpNotFoundHandler" />
    </handlers>
  </system.webServer>
   ...
</configuration>

enter image description here

Here我的回答与这个问题类似,但它是关于cshtml文件的。

关于javascript - 无法访问 ASP.NET MVC 中 View 文件夹内的 JavaScript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48936609/

相关文章:

javascript - 在 url 中推送查询参数时,Vue.js 中的 "NavigationDuplicated"异常是否有任何解决方法,同时保持在同一路径上

javascript - 当 numColumns > 1 时防止 FlatList 重新渲染

javascript - 如何强制Azure函数将JSON输出到浏览器

c# - 更改 deleteCommand 按钮文本

angularjs - 使用 AngularJS 动态验证和命名表单

javascript - 如何在大字体上制作内阴影效果?

asp.net - 不同国家的时区

asp.net - 我可以在 html 源代码中看到 ViewStateUserKey 吗?

javascript - AngularJS 范围不适用于 html 页面

javascript - AngularJS 算法运行缓慢时显示加载动画