Javascript Jest遇到意外令牌

时间:2020-08-02 11:27:16

标签: javascript webpack jestjs

使用Javascript启动测试时遇到此错误。我正在尝试使用Phaser 3构建游戏,并且我想在编写代码时进行测试。这是它第一次出现,并且我具有与其他项目相同的配置。错误后跟SyntaxError: Cannot use import statement outside a module。以及一些“转换”到我的配置的说明。但是我没有用于笑话配置的任何文件

我的测试:

import { getScore, setScore } from '../src/helpers/leaderboard';

describe('Should set and get score from the API', ()=>{
  it('should save the score into the API', ()=>{
    setScore('Dung', 50000).then(data => {
      expect(data.result).toBe('Leaderboard score created correctly.');
    });
  });
  it('should get the name of the player', async ()=>{
      const user = await getScore();
      expect(user.result.score).toEqual(50000);
    });
});

我的file.js:

export const setScore = async (playerName = '', gameScore = 0) => {
  const info = {
    user: playerName,
    score: gameScore,
  };
  const settings = {
    method: 'POST',
    headers: {
      Accept: 'application/json',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify(info)
  };
  try {
    const response = await fetch(url, settings);
    const data = await response.json();
    return data;
  } catch (e) {
    return e;
  }
}

export const getScore = async () => {
  try {
    const response = await fetch(url, {
      mode: 'cors'
    });
    const data = await response.json();
    return data.result;
  } catch (error) {
    console.error('Error:', error);
  }
}

我的package.json:

{  
  "main": "src/index.js",
  "scripts": {
    "test": "jest",
    "build": "webpack --config webpack/prod.js ",
    "start": "webpack-dev-server --config webpack/base.js --open"
  },
  "keywords": [],  
  "devDependencies": {
    "@babel/core": "^7.10.5",
    "@babel/plugin-transform-modules-commonjs": "^7.10.4",
    "@babel/preset-env": "^7.10.4",
    "babel-loader": "^8.1.0",
    "clean-webpack-plugin": "^3.0.0",
    "file-loader": "^4.3.0",
    "html-webpack-plugin": "^3.2.0",
    "jest": "^26.1.0",
    "jest-canvas-mock": "^2.2.0",
    "raw-loader": "^3.1.0",
    "terser-webpack-plugin": "^2.3.7",
    "webpack": "^4.44.0",
    "webpack-cli": "^3.3.12",
    "webpack-dev-server": "^3.11.0",
    "webpack-merge": "^4.2.2"
  },
  "dependencies": {
    "@babel/plugin-proposal-class-properties": "^7.10.4",
    "babel-jest": "^26.2.2",
    "node-fetch": "^2.6.0",
    "phaser": "^3.24.1",
    "phaser3-rex-plugins": "^1.1.21",
    "regenerator-runtime": "^0.13.7"
  },
  "jest": {
    "setupFiles": [
      "jest-canvas-mock"
    ]
  }
}

1 个答案:

答案 0 :(得分:0)

我找到了。 Babel 7无法使用.babelrc,我必须将其删除并添加babel.confij.js。现在可以了!!!