Rails Asset Pipeline JS压缩插入“非法字符”

时间:2012-04-27 16:26:39

标签: javascript ruby-on-rails compression asset-pipeline ruby-on-rails-3.2

just asked a question关于我的javascript中的“非法角色”。

enter image description here

那里的答案让我发现在插入各种非法字符的Rails资产管道中压缩javascript存在问题。

我在帖子中收到的错误是:

SyntaxError: Invalid character '\u0008'

我发现没有使用压缩导致它完全消失 ...但我想要压缩!使用Rails默认uglifer gem找到了该错误。我想也许这是特定压缩宝石的一个错误,所以我尝试按照Rails docs的指示使用其他压缩器。我得到了非常相似但不同的错误:

Uglifier: SyntaxError: Invalid character '\u0008'
Closure:  SyntaxError: Invalid character '\u0190'
YUI:      SyntaxError: Invalid character '\u0025'

我试着查看这些最小化代码,但因为“无效字符”每次都不同,所以它让我相信其他问题。

Here是一个示例压缩的JS文件。任何人都可以指出我在正确的方向吗?

1 个答案:

答案 0 :(得分:1)

好像你在一些JavaScript正则表达式中使用\b,我相信这是不受支持的。尝试将\b替换为\u0008,E.x。

string.replace(/\u0008/g, '\\b')