grunt-contrib-uglify v5.0.0 仍然无法支持 ES6 Template Literals?

问题描述

更新,2012 年 1 月 9 日:

起初,我以为是模板文字中的单引号引起的:

replyTo: `'MTN Support' <${functions.config().supportgmail.email}>`

但现在,已确认 grunt-contrib-uglify 甚至不支持普通模板文字

throw new Error(`UnkNown sender email address: ${mailOptions.from.address}.`);

同样的错误

Warning: Uglification Failed.
Unexpected token: name «sender»,expected: punc «,». 
Line 90 in functions/app-functions.js,functions/index.js,functions/viewer-functions.js,functions/site-functions.js
 Use --force to continue.

请注意,即使是单独的 uglify-js 也无法解析此内容。我也知道 GitHub 上的 harmony or uglify-js-es6 version,但由于这是用于生产部署目的,我不敢使用它,因为它自 4 年前就没有更新过。

那么是否确认 grunt-contrib-uglify v5.0.0 仍然不支持 ES6 Template Literals?不将模板文字更改为传统的 + 字符串连接的任何其他解决方法或替代方法?谢谢!


原始问题:

我有以下 Gruntfile.js

module.exports = function (grunt) {
    grunt.initConfig({
        // define source files and their destinations
        uglify: {
            files: {
                src: 'functions/*.js',// source files mask
                dest: '../project-staging/functions/'  // destination folder
            }
        }
    });

    // load plugins
    grunt.loadNpmtasks('grunt-contrib-uglify');

    // register at least this one task
    grunt.registerTask('default',['uglify']);

};

当我在命令行运行 grunt 时,我遇到了这个错误

Warning: Uglification Failed.
Unexpected token: string «MTN Support»,».
Line 44 in functions/app-functions.js,functions/site-functions.js
 Use --force to continue.

Aborted due to warnings.

以下是导致错误代码

var mailOptions = {
    from: functions.config().supportgmail.email,to: null,cc: null,bcc: null,// This is the line that causes the error:
    replyTo: `'MTN Support' <${functions.config().supportgmail.email}>`,subject: null,text: null,html: null
};

我不知道错误意味着什么,因为我在运行代码时没有任何错误,除非我尝试使用 Grunt 对其进行丑化。我还听说最新版本的 grunt-contrib-uglify 已经支持 ES6,那还能是什么呢?下面是我今天刚安装的 Grunt 和插件的版本:

  "devDependencies": {
    "grunt": "^1.3.0","grunt-contrib-uglify": "^5.0.0"
  }

有人知道我的代码有什么问题吗?我认为使用 + 将我的代码更改为旧的字符串连接方式没有意义,因为模板字符串在我的整个项目中无处不在。提前致谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)