性能与模块化:将JS集成到PHP或单独的custom.JS中


Performance vs modularity: Integrate JS into PHP or separate custom.js

我是Javascript和开发的新手,有一个绝对的初学者问题:我想了解更多关于以下两个星座的优点和缺点,特别是关于执行速度和服务器负载/请求。

  1. 将所有自定义JS代码放入PHP代码中,并从那里调用

  2. 将所有自定义JS代码放在custom.JS中,只需调用PHP 中的JS函数

一方面,我更喜欢将所有JS代码分开,以保持整洁,但另一方面,由于额外的服务器请求,我认为加载页面需要更长的时间。当我把所有代码放在一个自定义的JS文件中时,会有明显的速度差异吗?是否有任何特定的场景建议将JS放在PHP中或将其分离?

感谢

Http请求并行运行,因此加载js文件可能根本不明显,假设您也必须等待加载图像和其他资产。好处大于潜在的缺点。

额外的好处是,js文件通常是缓存的,而html在每次请求页面时都会重新加载。

注意:如果您有大量的脚本,您将在加载速度方面遇到问题,因为浏览器对并行请求的数量有限制。在这种情况下,你应该考虑缩小和组合它们。尝试code.google.com/p/minify使用php进行自动缩小。

最后:php中有js代码对可维护性来说非常糟糕。

JS在单独的文件中-附加请求。但我不会说这是个问题,因为它会被浏览器缓存。如果你有很多js文件-将它们收集到一个文件中,以避免多个请求(有专门的工具可以将单独的js文件编译成一个文件并最小化其大小)。

把它放到PHP代码中简直太可怕了。它应该在单独的文件中。

一方面,我更喜欢将所有JS代码分开,以保持整洁,但另一方面我认为解析整个代码需要更长的时间。

为什么?JS是在客户端执行的。不在服务器端。PHP不会解析JS文件。同时,如果您要在PHP文件中放入JS代码,PHP将需要将其回显到浏览器,这是PHP引擎的额外工作。此外,在PHP代码中,它将在执行PHP时随时发送到浏览器。

总是错误地选择可读性好的代码,以免陷入过早的优化陷阱。

你总是可以重构表现不佳的代码,使其更快,从低级优化到更抽象的设计比从低级到抽象的要困难得多