基于javascript的web应用程序的文件结构
我计划编写一个基于javascript的web应用程序。我想知道在文件结构方面实现它的最佳方法是什么 有一个主页(main.html),包含一个菜单和一个主div部分。其工作方式很简单:当用户单击菜单中的一个链接(例如“第1页”)时,div部分的内容将用page1.html文件的内容刷新。这是使用javascript(jquery)完成的。如果用户单击“第2页”,page2.html文件的内容将加载到div部分,以此类推 每个页面都有自己的javascript代码,我更喜欢将其分开,因此我实现了一种类似asp.net中的“代码隐藏”: 页面1.html:基于javascript的web应用程序的文件结构,javascript,jquery,file,Javascript,Jquery,File,我计划编写一个基于javascript的web应用程序。我想知道在文件结构方面实现它的最佳方法是什么 有一个主页(main.html),包含一个菜单和一个主div部分。其工作方式很简单:当用户单击菜单中的一个链接(例如“第1页”)时,div部分的内容将用page1.html文件的内容刷新。这是使用javascript(jquery)完成的。如果用户单击“第2页”,page2.html文件的内容将加载到div部分,以此类推 每个页面都有自己的javascript代码,我更喜欢将其分开,因此我实现了
页面2.html:
当用户单击“第1页”时,page1.html文件的内容将加载到main.html的main div部分。由于page1.html引用了page1.js,因此也会加载page1.js中的javascript代码 这似乎很好,但我想知道这是否是实现这一点的最佳方式。在某个时候,我考虑引用main.html中的所有javascript文件,这也可以正常工作,但这意味着所有javascript文件都必须加载到内存中,即使它们不会被使用。在第一种方法中,javascript文件在实际使用之前只加载到内存中
有什么想法吗?这方面的“最佳实践”是什么?请记住,这是一个web应用程序(与网站相反)。它将在互联网上提供,但只有一些用户可以使用(而且它会有密码保护),所以我不关心搜索引擎优化等。这可能对你没有影响,但你知道,从搜索引擎优化的角度来看,这是一个可怕的想法。您的站点将是flash站点的Javascript版本。就搜索引擎而言,将只有一个页面
这就是为什么基于框架的网站已经流行了好几年,但几乎消失了。这可能对你没有影响,但你知道,从SEO的角度来看,这是一个可怕的想法。您的站点将是flash站点的Javascript版本。就搜索引擎而言,将只有一个页面
这就是为什么基于框架的网站已经流行了好几年,但几乎消失了。加载JavaScript文件是同步的,这会对页面加载时间/感知响应性产生负面影响 出于这个原因,我认为最好将所有脚本合并到一个文件中,用YUI压缩程序压缩它并发送Gzip。通过这种方式,您将获得最好的压缩和最少的HTTP开销,并且缓存的JS不会暂停加载其他页面
对于特定于页面的动态脚本,JavaScript文件的加载是同步的,这会对页面加载时间/感知响应性产生负面影响 出于这个原因,我认为最好将所有脚本合并到一个文件中,用YUI压缩程序压缩它并发送Gzip。通过这种方式,您将获得最好的压缩和最少的HTTP开销,并且缓存的JS不会暂停加载其他页面 对于特定页面,动态脚本使用内嵌
…
@porenel
有很多方法可以让JS异步加载(专门创建脚本标记),但这些方法可能被认为是不安全的
@OP
我同意其他人的观点,从搜索引擎优化和可访问性的角度来看,这听起来是个坏主意,从实践的角度来看,这是一个性能问题(代码中有引导的方法,但我认为这是为了获得最小的收益而付出的大量努力),从应用程序开发的角度来看,这是一个值得怀疑的效果。作为一个假设性的练习,我认为porneL的gzip解决方案是最好的
基本上,我认为你很难找到一些很少人会实践的最佳实践。@porneL
有很多方法可以让JS异步加载(专门创建脚本标记),但这些方法可能被认为是不安全的
@OP
我同意其他人的观点,从搜索引擎优化和可访问性的角度来看,这听起来是个坏主意,从实践的角度来看,这是一个性能问题(代码中有引导的方法,但我认为这是为了获得最小的收益而付出的大量努力),从应用程序开发的角度来看,这是一个值得怀疑的效果。作为一个假设性的练习,我认为porneL的gzip解决方案是最好的
基本上,我认为你很难找到一些很少人会实践的最佳实践