JavaScript构建选项/工具

JavaScript构建选项/工具,javascript,redirect,build,compression,http-status-code-301,Javascript,Redirect,Build,Compression,Http Status Code 301,这些天我发现自己把越来越多的工作转移到客户端,因此我的JS文件越来越大。我已经到了这样一个地步:大多数HTML页面的页眉中有半打或更多的JS导入,我意识到这会影响加载时间 我最近发现了这一点,它允许您通过一个HTTP请求下载多个JS文件。它是用PHP编写的,作为Django的粉丝,我计划用Python重写它。我计划使用HTTP重定向到预先缩小和连接的文件,我想知道301的成本是多少。如果这是个愚蠢的想法,请告诉我 另一方面,我并不担心在静态文件的服务中引入脚本逻辑,我想知道是否有一个可行的构建替

这些天我发现自己把越来越多的工作转移到客户端,因此我的JS文件越来越大。我已经到了这样一个地步:大多数HTML页面的页眉中有半打或更多的JS导入,我意识到这会影响加载时间

我最近发现了这一点,它允许您通过一个HTTP请求下载多个JS文件。它是用PHP编写的,作为Django的粉丝,我计划用Python重写它。我计划使用HTTP重定向到预先缩小和连接的文件,我想知道301的成本是多少。如果这是个愚蠢的想法,请告诉我


另一方面,我并不担心在静态文件的服务中引入脚本逻辑,我想知道是否有一个可行的构建替代方案,比如说,一个ant任务可以连接和缩小JS文件,并用一个大的JS头替换HTML头中的多个JS下载,就像脚本所做的那样。

对于PHP,我当然倾向于动态执行它,因为如果引入构建步骤,您将失去使用PHP的主要好处之一。事实上,冒着自我推销的风险,我已经写了关于这个问题的文章

当然,其他技术可能会有所不同

同样,它是PHP,但它不仅仅是供您使用的一堆代码(尽管如果您只需要一些完全工作的代码,您可以直接跳到PHP),而且在确定问题、以正确的方式做事以及为什么这样做方面,它可能对您有价值

我喜欢使用Javascript文件包(整个应用程序可能只有一个),然后每个页面通过标准方式激活它所需的行为,但所有代码体都在较大的缓存和缩小的JS文件中。这样做速度最快,是一个好方法

如果您确实希望它作为构建过程的一部分,这是一个合理的解决方案,如果您有一个构建过程,那么我建议您缩小您的代码。有很多工具可以做到这一点。看一看


如果您对JS文件进行静态组合,上面提到的其他内容,如gzip和相关问题仍然是相关的。

对于PHP,我当然倾向于动态组合,因为如果引入构建步骤,您将失去使用PHP的主要好处之一。事实上,冒着自我推销的风险,我已经写了关于这个问题的文章

当然,其他技术可能会有所不同

同样,它是PHP,但它不仅仅是供您使用的一堆代码(尽管如果您只需要一些完全工作的代码,您可以直接跳到PHP),而且在确定问题、以正确的方式做事以及为什么这样做方面,它可能对您有价值

我喜欢使用Javascript文件包(整个应用程序可能只有一个),然后每个页面通过标准方式激活它所需的行为,但所有代码体都在较大的缓存和缩小的JS文件中。这样做速度最快,是一个好方法

如果您确实希望它作为构建过程的一部分,这是一个合理的解决方案,如果您有一个构建过程,那么我建议您缩小您的代码。有很多工具可以做到这一点。看一看


如果您对JS文件进行静态组合,上面提到的其他内容(如gzip和相关问题)仍然是相关的。

YUI compressor是一个不错的选择。如果您想了解如何设置基于Ant的构建过程,请参阅本教程:


作为基于Ruby的替代方案,我建议YUI compressor是一个不错的选择。如果您想了解如何设置基于Ant的构建过程,请参阅本教程:

作为基于Ruby的替代方案,我建议