我正在使用这些模块
"devDependencies": {
"@babel/core": "^7.0.0-beta.46",
"@babel/preset-env": "^7.0.0-beta.46",
"chai": "^4.1.2",
"chai-http": "^4.0.0",
"grunt": "^1.0.2",
"grunt-babel": "^8.0.0-beta.0",
"grunt-cli": "^1.2.0",
"mocha": "^5.1.1"
}
我的咕噜文件
// Configure
grunt.initConfig({
babel: {
options: {
presets: ['@babel/preset-env']
},
dist: {
files: {
'lib/helper.js': 'src/helper.js',
'lib/servekaro.js': 'src/servekaro.js'
}
}
}
})
// Load babel tasks
grunt.loadNpmTasks('grunt-babel')
// Default
grunt.registerTask('default', ['babel'])
这是我得到的错误
Warning: src/helper.js: Unexpected token, expected ";" (46:38)
44 | .filter(([key, value]) => keys.includes(key))
45 | // Map arrays to object entry
> 46 | .map(([key, value]) => { [key]: val })
| ^
47 | // Reduce object entries into single object
48 | .reduce((obj, entry) => Object.assign(obj, entry), {})
49 | } Use --force to continue.
帮助?
答案 0 :(得分:0)
这是一个真正的语法错误。你应该改变
.map(([key, value]) => { [key]: val })
到
.map(([key, value]) => ({ [key]: val }))
其中包装的parens使函数的主体解析为表达式,因此是对象文字。
当箭头函数的主体以{
开头时,这意味着函数体是一个语句列表,而不是一个对象。要从{
开始,您可以
.map(([key, value]) => {
return { [key]: val };
})