Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何缩小和/或压缩php文件中的JavaScript?_Php_Javascript_Compression_Minify_Optimization - Fatal编程技术网

如何缩小和/或压缩php文件中的JavaScript?

如何缩小和/或压缩php文件中的JavaScript?,php,javascript,compression,minify,optimization,Php,Javascript,Compression,Minify,Optimization,我正在寻找优化选项,在检查了SO问题后,我并没有看到我试图做的事情的答案。希望这并不意味着我正在做的是一个糟糕的练习 我有一个intranet应用程序,它通过对php文件的ajax调用加载页面内容。许多php文件混合了php、JavaScript,甚至是一些HTML,它们特定于加载到主界面的界面功能。我想知道如何缩小或压缩这些文件。有没有办法做到这一点,或者我被困是因为我有混合语言 更新:关于接受的答案: 我接受了wildpeaks的答案,因为我认为它最接近地回答了我最初的问题。然而,这是我希望

我正在寻找优化选项,在检查了SO问题后,我并没有看到我试图做的事情的答案。希望这并不意味着我正在做的是一个糟糕的练习

我有一个intranet应用程序,它通过对php文件的ajax调用加载页面内容。许多php文件混合了php、JavaScript,甚至是一些HTML,它们特定于加载到主界面的界面功能。我想知道如何缩小或压缩这些文件。有没有办法做到这一点,或者我被困是因为我有混合语言

更新:关于接受的答案:


我接受了wildpeaks的答案,因为我认为它最接近地回答了我最初的问题。然而,这是我希望我能接受两个答案的时候之一,因为我认为伊戈尔·齐诺夫·耶夫提供的答案可能给了我一个更重要的设计决策。由于这个原因,我对他的答案给出了+1,我想其他人也会这样做。希望这是有意义的,并且符合SO规则。

您的PHP脚本会生成Javascript代码,因此它可以在输出代码之前缩小代码:在变量中生成代码,然后将该变量传递给缩小器,然后才输出到浏览器


这里有一个问题。

您从错误的一端开始优化。显然,如果您的PHP文件中有硬编码的JavaScript、HTML和其他内容,那么您就需要重构代码。但是,即使你不这样做,你也不应该缩小现有的代码,因为它将更难维护

把它拉出来,从小步开始,你最终会到达那里

更新:我想用评论来回答,但我决定在这里详细说明我为什么这样回答你的问题

我在这里说的是。服务器端代码文件不是放置客户端代码的地方。到目前为止,我所看到的所有解决方案迟早会变成无法维持的混乱局面

如果要返回一段HTML代码,请将其放入模板中,并为模板提供特定于当前情况的变量。你可以用它来做。通过这种方式,您可以获得以下好处:

  • 没有重复的标记片段-有模板循环
  • 可以在多个位置重复使用现有模板
  • 使用模板的开发人员不需要进入服务器端代码
  • 而且你的服务器端代码变得更干净,闻起来也很香

稍后,当您将逻辑与表示分离时,您可能会发现不需要发送带有HTML片段的JavaScript代码。也许您将创建一个JS引擎(在构建时缩小),并且只需在加载时触发某些事件。

将JS复制到一个新文件中,缩小该文件,然后将其粘贴回?优化选项?您是否真的面临优化需求,还是仅仅为了好玩而创建一些工作?请使用http级别的压缩。它将处理整个页面,而不考虑使用哪种语言:@hakre:)也许我正在工作。我对这种类型的应用程序开发还是新手,很多“最佳实践”阅读表明建议缩小。最佳实践是在需要时进行优化,而不是更早。优化需要通过分析获得实际指标,而不是通过您在这里或那里找到的“最佳实践”建议,这些建议通常是无用的,因为每个应用程序的设计和使用都不同,如果因为这样的要求而不缩小结果,那将是一个遗憾。这可能是一个新手问题,但我还是要问:如果我使用php作为创建通过ajax返回的新接口的地方,你说静态js不应该在该文件中,但当该接口处于活动状态时,我需要该js,它来自哪里?我是否将它拉到一个单独的js中,然后在php的js文件中包含一个带有src设置的脚本标记?@Igor感谢您花时间更新您的原始答案。我明白你所说的逻辑,这就是我编写“旧式语言”代码的方式。我的一些设计在设计系统的同时学习了技术,这让我很苦恼,我的一些设计选择可能是错误的!我会考虑一下。不是我来这里寻找的答案,但也许你已经回答了更重要的问题!好工具!你知道有什么基准吗?它的速度够快吗?