Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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
当组合JavaScript和CSS文件时,如何更新HTML脚本和链接引用?_Javascript_Html_Css_Build Automation - Fatal编程技术网

当组合JavaScript和CSS文件时,如何更新HTML脚本和链接引用?

当组合JavaScript和CSS文件时,如何更新HTML脚本和链接引用?,javascript,html,css,build-automation,Javascript,Html,Css,Build Automation,多个站点引用组合JavaScript和CSS文件以提高网页性能,包括在部署之前使用ANT构建脚本连接文件的示例 我已经搜索过了,但还没有找到任何关于如何在HTML和其他文档中自动更新对这些文件的引用的信息。我希望避免将容易出错的东西拼凑在一起,并希望向过去有过自动构建的其他人学习 在野外是否有自动工具来完成我没有看到的任务?是否有推荐的过程来更新HTML中的脚本和链接标记?这些解决方案可以与ANT或类似的构建工具集成吗?我认为您真正想要的是一个 在这里读一下 您是对的,这是一种加速页面加载的好

多个站点引用组合JavaScript和CSS文件以提高网页性能,包括在部署之前使用ANT构建脚本连接文件的示例

我已经搜索过了,但还没有找到任何关于如何在HTML和其他文档中自动更新对这些文件的引用的信息。我希望避免将容易出错的东西拼凑在一起,并希望向过去有过自动构建的其他人学习


在野外是否有自动工具来完成我没有看到的任务?是否有推荐的过程来更新HTML中的脚本和链接标记?这些解决方案可以与ANT或类似的构建工具集成吗?

我认为您真正想要的是一个

在这里读一下

您是对的,这是一种加速页面加载的好方法。它甚至可以与另一张海报推荐的CDN结合使用

下面是一个小脚本,它将多个文件打包到一个文件中进行部署。它同时支持JS和CSS,甚至可以通过删除空格等方式“缩小”它们。只需将其挂接到构建和部署脚本中即可

榨汁机:

更好的是,它将遵循JS和CSS导入语句,因此您只需将HTML文件指向加载程序文件,它将在开发和生产中都能工作。(假设在部署时将加载程序文件替换为组合文件。)

还有其他解决方案,包括一些运行时解决方案。但听起来你已经有了一个构建过程

至于HTML更新,如果您仍然需要的话,因为在Ruby世界中,自动化部署非常流行,您可能会发现一些独立的实用程序,甚至对非Ruby项目也有帮助。(如上所述)我认为这最好由您自己的项目模板语言来处理。(具有静态资源修订id或类似id。)


祝你好运,让我们知道你发现了什么。

那里当然是而且这是一件明智的事情

我发现了一个,不知道这对你来说没关系,但如果不是,你仍然可以阅读它的来源(并不难),并学到很多东西。解决方案的工作原理如下:

  • 重写您的请求如下:css/main.css和css/skin.csscss/main.css、skin.css(当然,您可以放置更多)
  • 使用apache的mod_rewrite将此请求重定向到一个脚本(在我们的例子中是combine.php),该脚本将所有文件合并到一个单独的文件中
  • 脚本组合所有文件并发送组合文件。然后将其保存到缓存文件夹中
  • 下一次,它会检查是否有最新版本的缓存,并为该缓存提供服务。如果最近的文件修改时间已更改,它将丢弃缓存

  • 该解决方案非常有效,它甚至使用了HTTP缓存头,并吐出了一个[ETags],您无论如何都应该这样做。

    说清楚,我知道在部署/构建过程中结合JavaScript和CSS文件的技术,我正在寻找的是更新HTML文件的方法,这些文件在开发期间引用单独的脚本,以便在部署/构建时引用组合脚本。