【问题标题】:Grunt Uglify Failing on ES6 For...ofGrunt Uglify 在 ES6 上失败... of
【发布时间】:2017-11-19 22:15:16
【问题描述】:

我正在使用 grunt 来丑化三个 JavaScript 文件:

  1. functions.js
  2. formdata.min.js
  3. page-contact.js

我收到此错误:

Warning: Uglification failed.
Name expected.
Line 38 in src/js/functions.js
 Use --force to continue.

functions.js 的第 38 行:

for (var [id, value] of formData.entries()) {

这是否在 for...of 或 formData 上失败?

Gruntfile.js

module.exports = function(grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    watch: {
      uglify: {
        files: [ 'src/js/*' ],
        tasks: 'uglify'
      }
    },
    uglify: {
      my_target: {
        files: {
          'public/js/<%= pkg.name %>.min.js': ['src/js/*.js']
        }
      }
    }
  });

  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-contrib-uglify');

};

【问题讨论】:

  • uglify 支持 ES6 了吗?
  • 我不确定...根据this article,没有。但那是两年前的事了。我需要添加 babel 吗?

标签: javascript npm ecmascript-6 gruntjs grunt-contrib-uglify


【解决方案1】:

通过切换到grunt-contrib-uglifyharmony branch 解决了这个问题。 master 分支目前不支持 ES6。

在我的 packages.json 中,我换掉了原来的行并运行 npm install:

"grunt-contrib-uglify": "git://github.com/gruntjs/grunt-contrib-uglify.git#harmony"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 2015-07-29
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多