繁体   English   中英

SyntaxError:无法使用 jest 在模块外使用 import 语句

[英]SyntaxError: Cannot use import statement outside a module using jest

我正在尝试使用 Jest 开始测试,但我无法使用“导入”,那么如何在 Jest 中使用导入?

plus.js

function addTwo(num) {
    return num + 2;
}

export { addTwo };

测试.js

import { addTwo } from './plus';

test('adds 1 + 2 to equal 3', () => {
    expect(addTwo(4)).toBe(6);
});

错误:

发生错误

我的 package.json:

{
"name": "...",
"version": "1.0.0",
"title": "...",
"homepage": "http://...",
"devDependencies": {
    "@babel/core": "7.12.3",
    "babel-loader": "8.1.0",
    "btoa": "1.2.1",
    "chalk": "3.0.0",
    "circular-dependency-plugin": "5.2.0",
    "css-loader": "5.0.0",
    "dp-grunt-contrib-copy": "0.4.4",
    "eslint": "5.16.0",
    "eslint-loader": "4.0.2",
    "file-loader": "6.2.0",
    "filemanager-plugin": "2.5.2",
    "generate-json-webpack-plugin": "2.0.0",
    "grunt": "1.1.0",
    "grunt-contrib-clean": "0.7.0",
    "grunt-contrib-compress": "1.6.0",
    "grunt-contrib-concat": "1.0.1",
    "grunt-contrib-copy": "1.0.0",
    "grunt-contrib-cssmin": "1.0.2",
    "grunt-cssjoin": "0.3.0",
    "grunt-eslint": "21.1.0",
    "grunt-exec": "3.0.0",
    "grunt-jsmin-sourcemap": "1.10.0",
    "grunt-terser": "0.1.0",
    "grunt-writefile": "0.1.4",
    "html-loader": "1.3.2",
    "jest": "^26.6.3",
    "jwt-decode": "3.0.0",
    "mini-css-extract-plugin": "1.2.1",
    "npm-run-all": "4.1.5",
    "prettier": "2.1.2",
    "prettier-webpack-plugin": "1.2.0",
    "resize-observer-polyfill": "1.5.1",
    "sass": "1.25.0",
    "sass-loader": "10.0.4",
    "sha1": "1.1.1",
    "ssh2": "0.8.9",
    "style-loader": "2.0.0",
    "vue-virtual-scroller": "1.0.10",
    "webpack": "5.3.1",
    "webpack-cli": "3.3.12",
    "xmlhttprequest": "1.8.0"
},
"dependencies": {
    "inputmask": "5.0.0",
    "jquery": "2.1.3",
    "requirejs": "2.3.6",
    "vue": "2.6.10",
    "vue-i18n": "8.15.3",
    "vuedraggable": "2.23.2"
},
"scripts": {
    "build": "npm run dev && bash ./build.sh",
    "lint": "npx eslint --fix --quiet .",
    "prettier": "npx prettier --config ./.prettierrc.json --write ./**/*.{scss,js}",
    "prod": "node node/compiler.js prod",
    "dev": "node node/compiler.js dev",
    "backup-log": "node node/logger.js",
    "test": "jest"
}
}

解决方案是安装@babel/preset-env

npm install --save-dev @babel/preset-env

创建文件 babel.config.js

module.exports = {
    presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM