我如何压缩时间和所有插件到一个静态文件



tinymce的文档指出,可以将所有javascript和组件(我假设包括插件)压缩到一个文件中。他们也指出了为什么人们可能不想那样做的原因。

压缩成静态文件

也可以简单地将必要的组件和一些样板代码连接到一个.js文件中。但是,如果您想使用其他TinyMCE插件或升级TinyMCE,则必须重新创建此文件。你可能还想配置你的web服务器来压缩javascript文件。

但是假设一个人真的想做这件事,他实际上是怎么做的呢?xml似乎没有提供适当的任务。至少当我尝试它的插件似乎不包括当我加载tiny_mce.js。

有一些非常优秀的命令行工具可以做到这一点,但是您也可以使用文本编辑器轻松地做到这一点。最简单的方法是打开每个文件,复制内容,并将内容粘贴到单个JS文件中(例如"everything-all-together.js")。您需要确保将这些文件粘贴到单个文件中的顺序与将脚本标记粘贴到HTML文档中的顺序相同。将所有文件放在一起之后,就可以使用JSXMin、YUI Compressor或Google Closure等工具了。网上也有一些工具可以做到这一点,比如http://www.minifyjavascript.com/。你可以粘贴未压缩的JS,然后复制压缩后的JS。这使得构建过程非常麻烦,但如果您只需要这样做一次,那就可以了。

最好的方法是将其作为站点的构建步骤。这意味着当您对JS文件进行更改时,您需要重新构建压缩的JS文件以包含更改。如果您要快速迭代并反复更改文件,这可能是一个繁琐的步骤。您不希望每次保存时都重新构建压缩文件。您可以通过设置网站的开发和生产模式来解决这个问题。在开发模式下加载时,JS文件不会分组在一起。完成所有必要的更改后,您将重新运行构建步骤以生成单个压缩JS文件。要从命令行执行缩小操作,您可能需要使用Google Closure: https://developers.google.com/closure/compiler/。如果你下载了编译器应用,你可以这样做:

java -jar compiler.jar some-file.js some-other-file.js> compiled.js

这将生成一个名为compiled.js的文件,其中包含了some-file.js和some-other-file.js的内容。您可以根据需要指定任意多的文件进行编译。实际上,我把Closure说得有点小了,说它只是被缩小了。它也是非常优化的代码。几乎每个站点都应该一直对所有的JS这样做,除非他们已经做得更好了。

我希望我让你(和tinymce文档)正确,但这听起来很像在服务器端组合JavaScript文件。这意味着获取所有JS文件的内容,将它们放入一个文件并将该文件返回给客户端。

为什么你要那样做?嗯,这应该是显而易见的,但是…你减少了对服务器的HTTP请求的数量,这总是一件好事。

你是怎么做到的?对于所有服务器端语言和框架都有很多解决方案,我建议在谷歌上搜索"[你的语言]javascript minifier"或类似的东西。

最新更新