我有一个在Umbraco中建立的网站连接到Visual Studio 2012.当我启动项目(F5)时,它看起来应该是CSS和jQuery。在这个项目中,我们使用bundle。
当我发布我的网站时,无法找到捆绑包
" 无法加载资源:服务器响应状态为404(未找到)http://mywebsite.local/bundles/styles "当我查看控制台(在我的浏览器上)时,我可以找到文件夹包和文件样式。但它是空的。
但是在本地站点上,样式文件中有CSS。
我做错了什么?我的意思是,它是相同的代码?它就像在途中的某个地方,我的一半代码就消失了。我也使用Optimus作为Umbraco的包装,但它似乎没有任何区别。
这是我的BundleConfig:
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new StyleBundle("~/bundles/custom/css").Include(
"~/css/MasterStyle.css",
"~/css/TopMenu.css",
"~/css/SmallImages.css",
"~/css/SideMenu.css",
"~/css/Footer.css",
"~/css/Support.css",
"~/css/Highlight.css"));
bundles.Add(new ScriptBundle("~/bundles/js/jquery").Include(
"~/scripts/jquery-{version}.js",
"~/scripts/jquery-ui-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/bootstrap/js").Include(
"~/scripts/bootstrap.js"
));
bundles.Add(new ScriptBundle("~/bundles/js").Include(
"~/scripts/TopMenu.js",
"~/scripts/Master.js"));
LogHelper.Info<string>("Bundles Loaded");
//Comment this out to control this setting via web.config compilation debug attribute
BundleTable.EnableOptimizations = true;
}
我的Global.Asax(我没有写过这个,但绝对不确定这是否正确)
<script runat="server">
void Application_Start()
{
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
</script>
更新 检查正确的标记答案,我按照该教程解决了它,并使用了答案中发布的代码。我还注意到我的bundle.config中有一个小错误(之前我已经检查过,因此不是主要问题)。 在我的&#34; bundles.Add(新的StyleBundle(&#34;〜/ bundles / custom / css&#34;)&#34;我有错路径,对我而言应该是&#34;〜/ bundles /相反。而所有这些的组合,使它工作!
答案 0 :(得分:2)
假设你正在使用Umbraco 6或7,你可以点击这里的要点:How to use ASP.NET Bundling and Minifications in Umbraco
但是,您应该使用ApplicationEventHandler
派生类,以便您可以在启动时注册它们,而不是尝试创建自己的Global.asax.cs类(现在这是做这种事情的推荐方法与Umbraco):
public class ArticleEventHandler : Umbraco.Core.ApplicationEventHandler
{
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
Bundling的替代方法是使用与Umbraco捆绑在一起的ClientDependency包。如果你需要我,我可以详细说明,但是那里有大量的例子和文档。