大多数JavaScript minifiers“希望”将所有生成的缩小代码放在一行上,但许可证注释除外。但是,已经发现,当行太长时,一些JavaScript解释器变得不稳定。 (另外,如果需要在文本编辑器中检查缩小的文件,最好确保编辑能够应对挑战!)
为了适应有时由超长线引起的问题,许多minifiers会自动将最大线长限制为某个任意值,例如10000个字符。
但为什么这样呢?即使是缩小的代码也必须有空格。如果使用换行符(\ n)替换这些空格*,则文件的大小不会增大,并且通常归因于超长行的所有问题都可能消失。此外,以这种方式拆分长行可能会使执行其他任务更加可行,例如“区分”同一缩小项目的不同构建。
所以我的问题是这样的:是否有提供这种方法的缩放器?或者,或者:是否有构建任务可用于自动用换行替换空格,没有破坏保留(许可)的评论?
我正在使用Grunt构建我的项目,所以我更倾向于针对这种环境的答案,但我对所有可能的解决方案感兴趣。
编辑:
*在不破坏语义的情况下安全地执行此操作