我偶尔会遇到通过PHP文件包含一些Javascript的页面:
其中fake_js.php的内容可能如下所示:
function handleLoad() { alert('I loaded'); }
包含这样的Javascript有什么优点(或缺点)?
它可以很容易地从服务器端设置javascript变量.
var foo = =$foo?>
我通常在我的项目中有一个php/javascript文件,我用它来定义需要在javascript中使用的任何变量.这样我就可以在javascript中轻松访问服务器端使用的常量(css颜色,非敏感站点属性等).
编辑:例如,这是config.js.php
我正在处理的项目中的文件的副本.
如果您不需要它,请不要使用它:
你要记住的第一件事是YAGNI.你不需要它.在某个特征,原则或指南变得有用和相关之前,请不要使用它.
缺点:
增加复杂性
比静态文件慢.
缓存问题(服务器端)
可伸缩性问题(负载均衡器从重型PHP/Apache等进程中卸载静态文件)
好处:
用户特定的javascript - 可以通过
在HTML部分中使用正确的变量/参数进行初始化来实现
页面特定的javascript - JS也可以推广使用参数
从数据库创建的JSON(通常通过AJAX请求)
除非javascript真正独特(即JSON,参数/变量),否则你不会获得太多收益.但在每种情况下,您都应该最小化服务器端生成的JS数量,并最大化静态文件中的代码量.不要忘记,如果它是动态的,它必须一次又一次地生成/下载,所以它不是一个繁重的过程.
也:
这也可用于最小化服务器配置量(例如,如果Web服务器不提供具有正确内容类型的file.js)