对于一个更大的项目(即单个网站应用程序),我大量使用 jquery、js 和 ajax 调用。
正如我在 C# 和 ASP.Net 中所做的那样,当然,我尝试将函数/变量拆分为一堆 js 文件,用于分类,例如1 个用于我的“目标”的文件,1 个用于我的“佣金”的文件(这是我的申请的一部分)...
现在我几乎完成了这里的工作,最终得到了大约 20 到 25 个 js 文件,我将这些文件一个接一个地加载到我的 default.aspx 中...
这真的是正确(且最快)的处理方法吗?
最佳答案
Bundling and minification实际上是ASP.Net 4.5的一个新特性
您可以通过使用 Visual Studio 创建一个新的 ASP.Net MVC 4 Web 应用程序来查看它,然后使用 Web 应用程序模板,它会创建一个捆绑配置类,它可能会执行您想要的操作:
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",
"..."
}
}
必须在 Application_Start() 方法上调用此捆绑配置类:
BundleConfig.RegisterBundles(BundleTable.Bundles);
关于javascript - 加载许多 js 文件和变量的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24911155/