Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.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 如何将js最小化用于大型组织的网站_Javascript_Jquery_Optimization_Minify_Yui Compressor - Fatal编程技术网

Javascript 如何将js最小化用于大型组织的网站

Javascript 如何将js最小化用于大型组织的网站,javascript,jquery,optimization,minify,yui-compressor,Javascript,Jquery,Optimization,Minify,Yui Compressor,我正在寻找一个JS最小化(也许CSS以及)工具,在我们的网站上使用。该网站相当大,我们无法单独手动缩小文件。我们还计划对文件使用长期缓存,并且需要向每个文件添加一个版本号。我担心这在频繁出版时很难跟踪 我知道YUI压缩机等工具。。是的,但我不确定它们是如何用于像我这样的大项目的。从技术上讲,我正在寻找一个脚本或一个应用程序,可以调用后,我们的开发完成,利用它与缩小版本的文件 现在大公司使用/遵循的常见做法是什么??感谢您的帮助。我只是不知道该找什么 谢谢。我建议您使用一种makefile工具链(

我正在寻找一个JS最小化(也许CSS以及)工具,在我们的网站上使用。该网站相当大,我们无法单独手动缩小文件。我们还计划对文件使用长期缓存,并且需要向每个文件添加一个版本号。我担心这在频繁出版时很难跟踪

我知道YUI压缩机等工具。。是的,但我不确定它们是如何用于像我这样的大项目的。从技术上讲,我正在寻找一个脚本或一个应用程序,可以调用后,我们的开发完成,利用它与缩小版本的文件

现在大公司使用/遵循的常见做法是什么??感谢您的帮助。我只是不知道该找什么


谢谢。

我建议您使用一种makefile工具链(有很多,例如ant或maven)来:

  • 将js文件连接到一个文件中
  • 然后缩小结果文件(我使用,用ant目标调用)
请注意,创建一个文件是最重要的操作,因为在现代网络上,由于请求数量导致的延迟比总大小更大。通过这种方式,您可以轻松地处理数十个或数百个js(或css)文件,并且只要有助于代码源的可读性和可维护性,就可以毫不犹豫地创建一个新的js(或css)文件

这就消除了出于缓存原因对文件的可见版本管理的需要(手动或非手动)


正如最近所说,为了帮助调试,我的部署脚本总是并行生成两个版本:一个是非连接/缩小的版本,另一个是连接/缩小的版本。未压缩版本支持现场开发/测试,无需任何部署操作。

我建议您使用一种makefile工具链(有很多,例如ant或maven)来:

  • 将js文件连接到一个文件中
  • 然后缩小结果文件(我使用,用ant目标调用)
请注意,创建一个文件是最重要的操作,因为在现代网络上,由于请求数量导致的延迟比总大小更大。通过这种方式,您可以轻松地处理数十个或数百个js(或css)文件,并且只要有助于代码源的可读性和可维护性,就可以毫不犹豫地创建一个新的js(或css)文件

这就消除了出于缓存原因对文件的可见版本管理的需要(手动或非手动)


正如最近所说,为了帮助调试,我的部署脚本总是并行生成两个版本:一个是非连接/缩小的版本,另一个是连接/缩小的版本。未压缩版本允许在现场进行开发/测试,而无需任何部署操作。

“开发完成后可以调用”如果在开发过程中不进行缩小,那么之后将有一段很长的时间,因为缺少分号,这将对您不利。易于设置如果您有一个构建系统,则不同的标志会使min文件可用。您使用什么框架构建应用程序?ASP.NET?“在我们的开发完成后可以调用”如果你在开发过程中不进行缩小,你会有一个地狱般的时间,因为缺少分号,这样会咬你的屁股。易于设置如果您有一个构建系统,则不同的标志会使min文件可用。您使用什么框架构建应用程序?NET?我喜欢有两个版本的代码:一个用于未统一的开发代码,另一个用于缩小版本。我想象有两个文件夹分别保存每个版本。我的问题是,如果已经有这样的应用程序,这种应用程序可以自动完成这个过程。谷歌闭包编译器似乎只适用于JS、CSS,甚至HTML文件??我不知道,但这只是构建系统中的几行代码,取决于构建工具链。您需要在某个地方有一个js文件列表,至少要给出导入顺序。对于css,除了连接之外,您无需做任何事情。谢谢您的帮助。你能解释一下“构建工具链”和“构建系统”是什么意思吗?我不熟悉这些概念。我的意思是,当你构建或部署一个复杂的应用程序时,你总是有很多操作要做,比如打包、压缩、连接、编译等。你需要自动化这些任务,并且有专门的工具,比如makefile、Maven和许多我不知道的其他工具。当然,你也可以使用标准的shell脚本来完成很多这样的任务,但是当它变得复杂时,你会感到更痛苦。然而,与JS类似,在调试时,行号是无用的。因此,您可能还需要某种方式来查看未统一的文件。如果您有某种类型的暂存或QA服务器,您可以将其设置为始终服务未统一、未组合的文件。我还参与过一些项目,在这些项目中,您可以使用查询字符串(
?…debug..=on
)打开/关闭此功能。我喜欢使用两个版本的代码:一个用于未统一的开发代码,另一个用于缩小版本。我想象有两个文件夹分别保存每个版本。我的问题是,如果已经有这样的应用程序,这种应用程序可以自动完成这个过程。谷歌闭包编译器似乎只适用于JS、CSS,甚至HTML文件??我不知道,但这只是构建系统中的几行代码,取决于构建工具链。您需要在某个地方有一个js文件列表,至少要给出导入顺序。对于css,除了连接之外,您无需做任何事情。谢谢您的帮助。你能解释一下“构建工具链”和“构建系统”是什么意思吗?我不熟悉这些概念。我的意思是,当你构建或部署一个复杂的应用程序时,你总是有很多操作要做