我将jsrender添加到我的项目中,但是当我进行部署时,sendme
> Errors found for public/js/xxxxxxxx/jsrender.js
> > [ERROR] 194:11:identifier is a reserved word
> > [ERROR] 1:0:Compilation produced 1 syntax errors.
这一行引用了这个var调试器;
¿如何在不破坏库的情况下更改名称?
答案 0 :(得分:1)
debugger
本身是Javascript中的保留字,通常用于调试,因此您无法使用该名称声明变量:
var debugger; // This doesn't work
debugger; // This should work (common-use of debugger)
了解jsrender.js
基于looking at the assumed markup for jsrender.js
for the line that you referenced,它似乎只是debugger
来电,应该有效:
function dbgBreak(val) {
// Usage examples: {{dbg:...}}, {{:~dbg(...)}}, {{dbg .../}}, {^{for ... onAfterLink=~dbg}} etc.
try {
debugger; // THIS IS THE LINE REFERENCED
console.log("JsRender dbg breakpoint: " + val);
throw "dbg breakpoint"; // To break here, stop on caught exceptions.
}
catch (e) {}
return this.base ? this.baseApply(arguments) : val;
}
基于此,除非存在其他语法错误,否则我不会发现此特定行会导致问题的任何原因。
答案 1 :(得分:0)
您无法使用"调试器"作为变量名称。
答案 2 :(得分:0)
JsRender未声明var debugger;
。看起来您的错误是由编译步骤引发的。什么软件输出该错误?您的构建/部署过程是什么?
可能是你正在使用YUICompressor,它有一个相关的bug - 并且YUICompressor在缩小时会抛出错误......?见https://github.com/BorisMoore/jsrender/issues/239。对您的环境采取的解决方法就是注释//debugger;
这样做不会破坏任何内容。