我正在生成一封包含HTML mime附件的电子邮件,该附件需要离线。 HTML需要一些javascript,特别是jQuery和Date.js.
我遇到的问题是javascript需要在72个字符后换行,我被告知这是出于CANSPAM的原因。此外,一些SMTP服务器将在这么多字符后强制换行。如果强制换行发生在javascript无法换行的位置,则会破坏javascript。 (jQuery缩小为1个连续行,多次超过72个字符)。
是否有可用于解析javascript文本的库或工具,并在javascript友好位置插入换行符?
我的应用程序代码是Ruby。
--line-break 72
在考虑为72个字符时非常慷慨,甚至将函数定义的大括号留在与函数参数相同的行上。
以--line-break 0
方式运行并在vim中执行:s/\){/)\r{/g
后,线条似乎足够短
答案 0 :(得分:1)
YUI Compressor允许您使用--line-break
选项为每行指定最大列长度:
--line-break Some source control tools don't like files containing lines longer than, say 8000 characters. The linebreak option is used in that case to split long lines after a specific column. It can also be used to make the code more readable, easier to debug (especially with the MS Script Debugger) Specify 0 to get a line break after each semi-colon in JavaScript, and after each rule in CSS.
从经验来看,我已经看到它更多地将此视为指导而非严格规则。例如,如果您将换行符设置为80个字符,并且您有一个100个字符的字符串,则不会为您打破该字符串。
但是,根据您的输入文件,您可以使其正常工作。