在具有大量HTML页面的ASP.NET Web应用程序中,许多内联JavaScript函数正在积累.将它们组织成外部文件的好计划是什么?大多数函数特定于编写它们的页面,但有些函数与整个应用程序相关.
单个文件可能会变得非常大.使用C#等,我通常将文件至少划分为包含一般函数和类的文件,以便我可以将同一文件用于其他应用程序,并将一个文件用于特定于此应用程序的函数和类.但是,我不认为大文件对Web应用程序的性能有好处.
这方面的想法是什么?
您可能希望每个页面在一个位置具有特定于页面的JavaScript,然后在大文件中包含所有共享JavaScript.如果SRC是大文件,那么用户的浏览器将在第一次加载时缓存JavaScript代码,文件大小不会成为问题.如果您特别担心它,可以将JavaScript源打包/缩小为"可分发"形式并节省几千字节.
单个文件很大但是缓存了.太多的小文件意味着对服务器的请求越多.这是一种平衡的行为.使用Firebug和YSlow等工具来衡量您的性能并找出最适合您应用的方案.
每个请求的开销都有一些,所以总的来说,通过将它们全部组合到一个文件中,可以提高性能.但是,它可能会减慢用户访问的第一页上的加载时间,如果某些用户从不需要您的某些部分,则可能会导致无用的流量.
但是,这些问题中的第一个并不是那么成问题.如果您有一个注册页面,每个人都先访问并花费一些时间(填写表格等),一旦加载html,页面将显示,并且js可以在后台加载,而用户是反正忙着表格.
我会在开发过程中将js组织成不同的文件,即一个用于一般内容,一个用于每个模型,然后在构建过程中将它们组合成一个文件.此时你也应该进行压缩.