我正在使用 jQuery Noty 插件在 GUI 中生成通知,并且我想使用 mo 动画。甚至还有一个我想在他们的网站上使用的示例动画。
丑化我的代码库后,这是返回的错误:
SyntaxError: Unexpected token: name (x150) message: SyntaxError: Unexpected token: name (x150)', fileName: ...\notifications.js', lineNumber: 118, stack: 'Error\n at new JS_Parse_Error
有问题的行号如下:
var parent = new mojs.Shape({
parent: n.barDom,
width: 200,
height: n.barDom.getBoundingClientRect().height,
radius: 0,
x: { [150]: -150 },
duration: 1.2 * 500,
isShowStart: true
});
更具体地说,这是导致错误的原因:
{ [150]:-150 }
显然这是无效的,所以我正在寻找这种表示法的替代方案。这可以通过某种方式实现吗?
仅供参考,这是我执行的 gulp 任务:
gulp.task('min:jsscripts', function () {
return gulp.src(
[
'Scripts/**/*.js',
'!Scripts/**/*.min.js',
'!Scripts/**/*-debug.js',
'!Scripts/**/*.map'
], { base: "./" })
.pipe(tfs({ command: 'edit', params: { lock: 'none' } }))
.pipe(uglify().on('error', function (e) {
console.log(e);
}))
.pipe(rename({ suffix: '.min' }))
.pipe(diff())
.pipe(diff.reporter({ fail: false }))
.pipe(gulp.dest('.'));
});
更新:
我尝试使用不同的缩小器(带有 babili 预设的 babel),这似乎有效。我读到 uglify 不支持 ECMAScript 6,所以这可能是 ECMAScript 6 语法吗?如果是这样,另一种语法是什么?
这是更新后的 gulp 任务:
gulp.task('min:jsscripts', function () {
return gulp.src(
[
'Scripts/**/*.js',
'!Scripts/**/*.min.js',
'!Scripts/**/*-debug.js',
'!Scripts/**/*.map'
], { base: "./" })
.pipe(tfs({ command: 'edit', params: { lock: 'none' } }))
.pipe(babel({ presets: ['babili'] }).on('error', function (e) {
console.log(e);
}))
.pipe(rename({ suffix: '.min' }))
.pipe(diff())
.pipe(diff.reporter({ fail: false }))
.pipe(gulp.dest('.'));
});
如果我对 ECMASCript 6 语法的假设是正确的(你会注意到我在这方面相当缺乏经验),我需要做什么才能将其转换为 ECMASCript5?我的 gulp 任务已经这样做了吗?