我对MVC不熟悉,所以想开始一个新项目并尝试在MVC4中使用一些新功能。我的Content
目录下有两个CSS文件:normalize_mini
和site.css
。当我使用以下代码时:
<link href="@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
只有我的site.css
文件被加载了,而我的normalisation文件没有被加载。在我的应用程序启动文件中,我有以下代码:
protected void Application_Start()
{
// Remove all other view engines except razor:
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewEngine());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
BundleTable.Bundles.RegisterTemplateBundles();
BundleTable.Bundles.EnableDefaultBundles();
}
我需要为每个CSS文件创建一个bundle吗(就像这个人所做的那样)?还是应该自动查找所有的CSS文件(我希望这是默认行为)。值得注意的是,我以Razor视图引擎为基础创建了一个空网站(实际上并不是空的:/)。
提前感谢。
更新
根据发布的链接,我需要注释掉注册模板bundle的那一行。例如:
protected void Application_Start()
{
// Remove all other view engines except razor:
ViewEngines.Engines.Clear();
ViewEngines.Engines.Add(new RazorViewEngine());
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
//BundleTable.Bundles.RegisterTemplateBundles(); // This is not needed
BundleTable.Bundles.EnableDefaultBundles();
}
现在这个代码可以工作了。我认为这两行代码应该能够共存而不会出现任何问题。我猜这是设计如此,但这是不好的设计吗?