【问题标题】:Unexpected character ( ` ) error when using UglifyJS?使用 UglifyJS 时出现意外字符 (`) 错误?
【发布时间】:2021-02-06 12:46:51
【问题描述】:

运行 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,但我是新手,我不知道该怎么做。

【问题讨论】:

  • 请添加错误输出,方便他人帮助

标签: javascript jquery ecmascript-6 ecmascript-5 uglifyjs


【解决方案1】:

uglify-js only 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)上的建议进行操作

要缩小 ECMAScript 2015 或更高版本,请使用 Babel 等工具进行转译。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-27
  • 1970-01-01
  • 1970-01-01
  • 2016-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多