gpt4 book ai didi

asp.net-mvc - MVC bundle - 无法加载资源

转载 作者:行者123 更新时间:2023-12-02 03:08:38 25 4
gpt4 key购买 nike

这可能是什么原因造成的?我正在处理一个 DurandalJS 项目,该项目在本地构建和运行得很好。当我尝试部署到 Azure 网站时,应用程序发布,但在浏览器中失败,并显示:

Failed to load resource: the server responded with a status of 404 (Not Found) http://appsite.azurewebsites.net/Scripts/vendor.js?v=KJCisWMhJYMzhLi_jWQXizLj9vHeNGfm_1c-uTOfBOM1

我没有自定义任何 bundle 。

我的 bundle 配置:

public class BundleConfig
{
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));

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

bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/Scripts/jquery.unobtrusive*",
"~/Scripts/jquery.validate*"));

// Use the development version of Modernizr to develop with and learn from. Then, when you're
// ready for production, use the build tool at http://modernizr.com to pick only the tests you need.
bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
"~/Scripts/modernizr-*"));

bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));

bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
"~/Content/themes/base/jquery.ui.core.css",
"~/Content/themes/base/jquery.ui.resizable.css",
"~/Content/themes/base/jquery.ui.selectable.css",
"~/Content/themes/base/jquery.ui.accordion.css",
"~/Content/themes/base/jquery.ui.autocomplete.css",
"~/Content/themes/base/jquery.ui.button.css",
"~/Content/themes/base/jquery.ui.dialog.css",
"~/Content/themes/base/jquery.ui.slider.css",
"~/Content/themes/base/jquery.ui.tabs.css",
"~/Content/themes/base/jquery.ui.datepicker.css",
"~/Content/themes/base/jquery.ui.progressbar.css",
"~/Content/themes/base/jquery.ui.theme.css"));
}
}

DurandalBundle配置:

public class DurandalBundleConfig {
public static void RegisterBundles(BundleCollection bundles) {
bundles.IgnoreList.Clear();
AddDefaultIgnorePatterns(bundles.IgnoreList);

bundles.Add(
new ScriptBundle("~/Scripts/vendor.js")
.Include("~/Scripts/jquery-{version}.js")
.Include("~/Scripts/jquery-ui-{version}.js")
.Include("~/Scripts/bootstrap.js")
.Include("~/Scripts/knockout-{version}.js")
.Include("~/Scripts/knockout.mapping-latest.js")
.Include("~/Scripts/isotope.js")
.Include("~/Scripts/toastr.js")
.Include("~/Scripts/tag-it.js")
);

bundles.Add(
new StyleBundle("~/Content/css")
.Include("~/Content/ie10mobile.css")
.Include("~/Content/app.css")
.Include("~/Content/bootstrap.min.css")
.Include("~/Content/bootstrap-responsive.min.css")
.Include("~/Content/font-awesome.min.css")
.Include("~/Content/durandal.css")
.Include("~/Content/starterkit.css")
.Include("~/Content/toastr.css")
.Include("~/Content/tag-it.css")
.Include("~/Content/zen-theme.css")
);
}

public static void AddDefaultIgnorePatterns(IgnoreList ignoreList) {
if(ignoreList == null) {
throw new ArgumentNullException("ignoreList");
}

ignoreList.Ignore("*.intellisense.js");
ignoreList.Ignore("*-vsdoc.js");
ignoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled);
//ignoreList.Ignore("*.min.js", OptimizationMode.WhenDisabled);
//ignoreList.Ignore("*.min.css", OptimizationMode.WhenDisabled);
}
}

在我的 html 页面中我使用这个:

@Scripts.Render("~/Scripts/vendor.js")

这会阻止加载所需的库(例如敲除)。它可能是我的 web.comfig 中的某些内容吗?任何提示都会很棒。

更新:

如果执行以下操作,我可以在本地重现确切的问题:

new ScriptBundle("~/Scripts/vvendor.js")  // change the virtual output directory here

我认为这意味着 View 因某种原因发布时找不到目录...

最佳答案

1。不要在包名称中使用文件扩展名

Brett提到,您的包名称中不应包含文件扩展名。

这样做的原因是,如果存在扩展名,IIS 路由将假定请求是针对文件的。

2。不要使用文件夹路径作为包名称

注意:这不会在开发中发生,因此只有在部署到生产环境时才会出现问题

要避免的第二件事是包名称与项目/网站中的真实文件夹名称相匹配。 IIS 将在诉诸 bundle 路由之前匹配物理文件夹

例如如果您的登录页面样式有 /Content/Login 文件夹,则不能使用名为 ~/Content/Login 的包。 IIS 将看到物理文件夹并假设它是目录浏览请求(您可能会从 Azure 服务器收到 403 错误)。

建议命名:

建议您在所有包中使用名称bundle,以避免目录冲突,并包含css您的项目中永远不要有名为“bundles”的文件夹(因为上面的问题 2)。

bundle 名称示例:

  • “~/bundles/jquery”
  • “~/bundles/addins”
  • “~/bundles/css”
  • “~/bundles/css/login”
  • “~/bundles/css/bootstrap”

等等

关于asp.net-mvc - MVC bundle - 无法加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18423253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com