使用 UglifyJS 时出现意外字符 (`) 错误?

Unexpected character ( ` ) error when using UglifyJS?

当运行 uglifyjs 时,出现上述错误。代码如下所示:

$('.lazyload').each(function(i,j){
    var h = $(j).attr( 'height' );
    var w = $(j).attr( 'width' );
    var at = `data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${w} ${h}"%3E%3C/svg%3E`;
    $(j).attr('src', at);
});

我读到我需要将它转译为 ES5,但我是新手,不知道该怎么做。

uglify-jsonly supports ECMAScript 5。这解释了为什么在包含模板文字的行上会出现错误,这是 ECMAScript 2015 引入的语法:

 var at = `data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${w} ${h}"%3E%3C/svg%3E`;
 //       ^ error

您可以在没有模板文字的情况下进行相同的赋值,使用单引号文字和连接:

var at = 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ' 
       + w + ' ' + h + '"%3E%3C/svg%3E';

或者您可以遵循 uglify-js home page (github)

上的建议

To minify ECMAScript 2015 or above, transpile using tools like Babel.