首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态对象键不适用于grunt babel

动态对象键不适用于grunt babel
EN

Stack Overflow用户
提问于 2018-05-02 07:53:06
回答 1查看 126关注 0票数 0

我正在使用这些模块

代码语言:javascript
复制
"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"
}

我的grunt文件

代码语言:javascript
复制
// 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'])

这是我得到的错误

代码语言:javascript
复制
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.

帮助?

EN

回答 1

Stack Overflow用户

发布于 2018-05-02 08:34:46

这是一个真正的语法错误。你应该改变

代码语言:javascript
复制
.map(([key, value]) => { [key]: val })

代码语言:javascript
复制
.map(([key, value]) => ({ [key]: val }))

其中,包装的括号使函数体解析为表达式,从而解析为对象文字。

当箭头函数体以{开头时,这意味着函数体是一个语句列表,而不是一个对象。要开始使用{,您可以这样做

代码语言:javascript
复制
.map(([key, value]) => { 
  return { [key]: val };
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50125355

复制
相关文章

相似问题

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