创建扩展名为.php的javascript文件

创建扩展名为.php的javascript文件,php,javascript,Php,Javascript,我一直在单独的.js文件中编写javascript函数。在我的上一个项目中,javascript文件的数量更多,因此页面加载速度较慢,因为请求的数量更多。出于实验目的,我转换了几个扩展名为.php的.js文件,并添加了include语句。这样,加载时间性能更好。在.php文件中编写javascript有很多优点。我可以访问php变量并轻松地将它们传递给javascript 我的疑问是,在.php文件中编写javascript并将其包括在内是否有任何缺点 我的理解是,当页面加载时,它调用javas

我一直在单独的.js文件中编写javascript函数。在我的上一个项目中,javascript文件的数量更多,因此页面加载速度较慢,因为请求的数量更多。出于实验目的,我转换了几个扩展名为.php的.js文件,并添加了include语句。这样,加载时间性能更好。在.php文件中编写javascript有很多优点。我可以访问php变量并轻松地将它们传递给javascript

我的疑问是,在.php文件中编写javascript并将其包括在内是否有任何缺点


我的理解是,当页面加载时,它调用javascript文件并并行执行php部分。所以我们编写onload函数。

大多数浏览器可以使用2个或更多同时连接来加载资源。因此,将javascript保存在单独的文件中可以让浏览器充分利用所有连接。您应该尽可能晚地在HTML中包含
标记,以便在任何JS开始加载之前写入页面内容

使用PHP的一个优点是对JS文件进行gzip处理以减小其大小

如果javascript文件的大小很小,比如<100KB,那么在一个PHP脚本中包含多个javascript文件可能会更快。但是如果javascript文件更大,比如500KB,那么将它们分开可能会更快


实验和调整将帮助您找到答案。这里没有普遍的真理。

如果您想使用PHP在服务器端将多个Javascript文件编译成一个,您可以执行以下操作:

<?php
// script.js
header('Content-Type: text/javascript'); // Tell browser to treat file as Javascript

$files  = array(
    'script-1.js',
    'script-2.js',
    'script-3.js'
);

foreach($files as $file){
    // Import each file
    echo file_get_contents($file).PHP_EOL;
}

从php加载js文件的问题是,您正在增加响应的大小,因为您的页面将在浏览器上呈现得很慢。另一方面,如果浏览器加载您的js文件,浏览器会发送不同的js文件请求,所以如果您不希望初始页面加载缓慢,请不要将js放在php中

如果您想加快js文件的加载速度,请执行以下操作

  • 使用诸如或之类的工具缩小所有js文件
  • 将这些缩小的文件放在其他支持cdn的服务器上,您可以在一些免费cdn上免费托管您的文件,从cdn加载总是更快,并且浏览器可以一次下载多个文件

  • 从google cdn url或相应站点加载jquery或其他库等文件 使用到期头让浏览器长时间保存js文件,这样就不会在非常需要时加载


  • 如果您遵循这些技术,您的页面将加载得更快

    这里的关键是进行实验。并行下载与将文件作为一个文件使用的好处取决于这些文件的大小。同意你的观点。对此没有具体的解决办法。gzip是一个很好的方法。我不知道浏览器提供同步连接。谢谢+感谢亚当。这是一种组合文件并使用它们的好方法+1.
    ...
    <script src="script.php"></script>
    ...