我正在使用jQuery noty插件来生成GUI中的通知,我想使用MO动画。我想在他们的网站上使用一个示例动画。
在我的代码库中,这是返回的错误:
SyntaxError:意外令牌:名称(x150(消息:SyntaxError: 意外令牌:名称(x150(',文件名:... notifications.js', 亚麻布:118,stack:'错误 n 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}
显然这是无效的,因此我正在寻找该符号的替代方案。这可以以某种方式实现吗?
fyi,这是我执行的毛刺任务:
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(,这似乎有效。我读到没有ecmascript 6支持uglify,所以也许这个语法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任务已经在这样做吗?
我的怀疑是正确的...我不得不将上述代码转换以使其符合ES5。这就是这样的结果:
var parent = new mojs.Shape({
parent: n.barDom,
width: 200,
height: n.barDom.getBoundingClientRect().height,
radius: 0,
x: _defineProperty({}, 150, -150),
duration: 1.2 * 500,
isShowStart: true
});
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value, enumerable: true, configurable: true, writable: true
});
} else { obj[key] = value; } return obj;
}