javascript - 开 Jest 错误意外的 token ...(ES6)

标签 javascript reactjs unit-testing ecmascript-6 jestjs

每当我在命令行中运行 jest 时,都会收到以下错误:

 ● Test suite failed to run

/Users/<USER>/<Project>/src/login/LoginAPI.js:13
        ...headers,
        ^^^

SyntaxError: Unexpected token ...

它中断的代码使用 ES6 省略号:

headers: {
    ...headers
},

这就是我的 .babelrc 文件的样子:

{ "presets":["env", "react"] }

这就是我的 package.json 中的内容:

"dependencies": {
    "express": "^4.15.4",
    "express-healthcheck": "^0.1.0",
    "js-cookie": "^2.1.4",
    "normalize.css": "^7.0.0",
    "query-string": "^5.0.0",
    "react": "^15.6.1",
    "react-dom": "^15.6.1",
    "react-router-dom": "^4.2.2"
  },
  "devDependencies": {
    "babel-jest": "^21.2.0",
    "babel-preset-env": "^1.6.1",
    "babel-preset-es2015": "^6.24.1",
    "enzyme": "^3.1.0",
    "enzyme-adapter-react-15": "^1.0.2",
    "jest": "^21.2.1",
    "jest-cli": "^21.2.1",
    "react-scripts": "1.0.10"
  },
  "jest": {
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
      "\\.(css|less)$": "<rootDir>/__mocks__/styleMock.js"
    },
    "moduleFileExtensions": ["js"],
    "moduleDirectories": [
      "node_modules",
      "bower_components",
      "shared"
    ],
    "testPathIgnorePatterns": [
      "/node_modules/",
      "/yarn-cache/"
    ]
  }

最佳答案

您需要为此语法使用特定的 babel 预设。 Check this preset

npm install --save-dev babel-plugin-transform-object-rest-spread

然后将其添加到您的 .babelrc

{
  "plugins": ["transform-object-rest-spread"]
}

您可能需要添加 stage-2因为它有更多 ES6 的优点。

注意: Jest can read your .babelrc file

关于javascript - 开 Jest 错误意外的 token ...(ES6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46893494/

相关文章:

javascript - 如何在Highchart中设置Precision-ToolTip

javascript - 处理字符串中存在的 ASCII 代码

javascript - react setstate接受的对象在setInterval和onClick中是不同的

unit-testing - 我应该为每个断言创建一个新的测试方法吗?

ruby-on-rails - RSpec 失败(未定义方法 `id' 为 nil :NilClass ) with has_many through model

javascript - 通过javascript将数据发送到不同的机器

javascript - SEO 谷歌链接跟踪

javascript - 如何在 JSX 中使用 If-Else

reactjs - React Native AndroidManifest.xml 调试与主?

swift - 我如何在 XCODE 8 和 Swift 3 中使用 UIAutomation