首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[] =上的UglifyJS2无效赋值

[] =上的UglifyJS2无效赋值
EN

Stack Overflow用户
提问于 2017-10-24 09:25:13
回答 1查看 1.8K关注 0票数 1

我已经开始处理一个旧项目,它使用吞咽来缩小它的JS,但是当我运行gulp任务时,我得到了以下错误:

代码语言:javascript
复制
GulpUglifyError: unable to minify JavaScript
Caused by: SyntaxError: Invalid assignment
File: app/assets/js/main.js
Line: 92
invalid assignment [] =

当然,当我看第92行时,我看到了一个奇怪的变量赋值,它有一个我不熟悉的语法:

代码语言:javascript
复制
[newTitle, newVal] = $('#' + elementId + '-title').text().replace('*', '').split(':');

后来发生的情况是:

代码语言:javascript
复制
[prodW = 0, prodL = 0, boxL = 0] = currentOption.text().split(/[\/-]/);

如果我注释掉这些行,就会得到更多的错误,因为newTitlenewValprodWprodLboxL都在其他地方使用。

,知道这是怎么回事吗?有办法避免这些错误吗?

这是我正在运行的gulp任务,以防有帮助.

代码语言:javascript
复制
gulp.task('compressJS', function (cb) { 
    pump([
            gulp.src('app/assets/js/*.js'),
            uglify(),
            gulp.dest('build/js/')
        ],
        cb
    );
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-24 09:30:12

这是JavaScript ES6的一个特性,称为解构分配

问题是Uglify2与ES6不兼容。您可以尝试使用兼容的新Uglify3,也可以先将ES6代码转换为ES5,例如gulp-babelhttps://www.npmjs.com/package/gulp-babel

使用Babel的好处还在于旧的浏览器不支持ES6。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46906805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档