我最近决定开始在一个项目中使用 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);
有人可以解释一下:
- 为什么会断?
- 我应该如何编写它以便在压缩时工作?
谢谢
编辑:这是引发错误的压缩代码部分:
(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)