Node:无法在jest中的模块外部使用import语句

hgb9j2n6  于 12个月前  发布在  Jest
关注(0)|答案(1)|浏览(175)

到今天为止,我用jest做了很多测试,从来没有收到过这个错误。我没有更新我的jest版本,代码和以前一样。
收到的错误是:

josecarlos@R2D2 ~/Workspace/BlueCode/Youmalou/Backend [add/Memcached-2*]$ npx jest ./unittest/memcached.test.js

Jest encountered an unexpected token

Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.

Out of the box Jest supports Babel, which will be used to transform your files into valid JS based on your Babel configuration.

**By default "node_modules" folder is ignored by transformers.**

Details:

/home/josecarlos/Workspace/BlueCode/Youmalou/Backend/node_modules/axios/index.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){import axios from './lib/axios.js';
                                                                                  ^^^^^^

SyntaxError: Cannot use import statement outside a module

  1 | import config from "../config";
> 2 | import axios from "axios";
    | ^
  3 | import {Result} from "./result";
  4 | import {PGMappingDDBB} from "../database/postgresql/pg_mapping";
  5 | import {PGBackendDDBB} from "../database/postgresql/pg_backend";

  at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1728:14)
  at Object.<anonymous> (com/functions.js:2:1)

字符串
axios模块被正确导入,该模块位于node_modules中,以及它在收到的消息中的说法默认情况下,transformers忽略“node_modules”文件夹。
我的.babelrc是:

{
   "presets": ["@babel/preset-env"],
   "plugins": ["@babel/plugin-transform-runtime"
   ]  
}


如果我在package.json中添加“type”:“module”,它就不工作了。
当我尝试运行测试时,我使用以下命令:npx jest ./unittest/memcached.test.js 以及我如何说这在昨天之前没有任何问题,但今天不工作!我很沮丧,请帮助!!
那么,它是如何发生的?我如何修复这个错误?
编辑一:
我已经安装了“babel-jest”:“^29.7.0”,并使用以下代码创建了文件jest.js.js:

module.exports = {
    transform: {
      '^.+\\.jsx?$': 'babel-jest',
    },
    transformIgnorePatterns: ["/node_modules/"]
};


它不工作。我收到同样的错误!:(

dluptydi

dluptydi1#

我已经解决了我的问题!
我已经更新了我的jest版本到最新。现在,我已经安装了29.7.0版本的jest。
我希望这对某人有用。

相关问题