0

我最近决定开始在一个项目中使用 Django Compressor 来自动连接和缩小 js 和 css,并在它们更改时刷新缓存。

我遇到的问题是有些脚本在未压缩时可以工作,但在通过压缩器运行后它们会中断。我已经能够将可能性缩小到字符串连接。特别是 HTML 字符串连接。

例如:

boldTerm = '<b>' + terms[i] + '</b>';
term = new RegExp(term, 'g');
data = data.replace(term, boldTerm);

压缩时断裂。我收到语法错误:

语法错误:缺少;声明之前

但这有效:

boldTerm = 'TEST';
term = new RegExp(term, 'g');
data = data.replace(term, boldTerm);

有人可以解释一下:

  1. 为什么会断?
  2. 我应该如何编写它以便在压缩时工作?

谢谢

编辑:这是引发错误的压缩代码部分:

(jQuery);';term=new RegExp(term,'g');data=data.replace(term,boldTerm);}}

它被扔在 RegExp(term, g) 中的“g”上

我发现这有效:

boldTerm = '<' + 'b' + '>' + terms[i] + '<' + '/b' + '>';
term = new RegExp(term, 'g');
data = data.replace(term, boldTerm);

所以这解决了我让它工作的部分问题。但“为什么”的问题仍然存在。

玩的东西:

  • jQuery
  • 胡子
  • Django 压缩器 (JSmin)
4

1 回答 1

0

也许您没有导出 RegExp 并且压缩器正在重命名它。

于 2012-11-09T17:19:40.277 回答