无法访问 ASP.NET MVC 中 View 文件夹内的 JavaScript 文件
Cannot access JavaScript files inside View folder in ASP.NET MVC
我正在尝试在我的 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
但我无法添加 ~/bundles/appcomponents
并且我收到此脚本的 404 错误。
我也试过直接在_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>
是我和这个问题类似的回答,不过是关于cshtml文件的。
我正在尝试在我的 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
但我无法添加 ~/bundles/appcomponents
并且我收到此脚本的 404 错误。
我也试过直接在_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>