【问题标题】:babel-preset-env SyntaxError: Unexpected token with spread propertiesbabel-preset-env SyntaxError:具有扩展属性的意外令牌
【发布时间】:2018-01-29 11:13:46
【问题描述】:

为什么它不接受传播属性?我为此使用 babel-preset-env

.babelrc

{
    "presets": [
        "react",
        [
            "env",
            {
                "targets": {},
                "debug": true,
                "modules": "commonjs"
            }
        ]
    ]
}

package.json

{
  "name": "myapp",
  "version": "0.1.0",
  "main": "index.js",
  "private": true,
  "dependencies": {
    "babel-core": "6.25.0",
    "babel-loader": "7.1.1",
    "babel-preset-env": "^1.6.0",
    "babel-preset-react": "^6.24.1",
    "extract-text-webpack-plugin": "3.0.0",
    "file-loader": "0.11.2",
    "html-webpack-plugin": "^2.30.1",
    "moment": "^2.18.1",
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "react-router": "^4.1.2",
    "react-router-dom": "^4.1.2",
    "redux": "^3.7.2",
    "redux-form": "^7.0.3",
    "style-loader": "0.18.2",
    "url-loader": "0.5.9",
    "webpack": "3.5.1",
    "webpack-dev-server": "2.7.1",
    "webpack-node-externals": "^1.6.0"
  },
  "scripts": {
    "start": "",
    "build": "webpack"
  }
}

【问题讨论】:

    标签: javascript webpack ecmascript-6 babeljs babel-loader


    【解决方案1】:

    Object rest spread 运算符可能将成为ECMAScript 规范的未来功能(目前处于第 3 阶段)。

    目前,由于Babel 可以支持它,但您必须使用transform-object-rest-spread plugin

    {
        "presets": [
            "react",
            [
                "env",
                {
                    "targets": {},
                    "debug": true,
                    "modules": "commonjs"
                }
            ],
            "transform-object-rest-spread"
        ]
    }
    

    【讨论】:

    • 只是一个疑问,我正在使用 babel-preset-env ..这个库应该已经导入(扩展运算符库)吧?
    • 好像不是因为它仍然是一个舞台功能:github.com/babel/babel-preset-env/issues/49
    • 它不会成为 ES7 功能,因为 ES7 (ES2016) 已于去年发布;)
    • ES8 也已经发布。如果现在引用版本,ESxxxx 也是官方的方式。所以,可能是 ES2018,但谁知道呢。有关系吗?唯一重要的部分是它还不是规范的一部分。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 2011-11-21
    • 2017-08-05
    • 2021-03-31
    • 2019-04-20
    • 1970-01-01
    相关资源
    最近更新 更多