jest:通用子模块的模块外的导入语句

问题描述

我已经查看了此错误的所有答案,但没有一个对我有用。

就我而言,我有一堆通用代码,它们位于一些 reactjs 项目中使用的子模块中。

如此

文件夹是这样的

project1
project2
common

在每个项目中都运行良好,但玩笑测试失败

语法错误:不能在模块外使用导入语句

  1 | import { connect } from 'react-redux'
> 2 | import { getDataCollectorToken } from 'common/src/shared/redux/datapoints/thunks';
    | ^

我尝试添加 "testPathIgnorePatterns": ["common/**" 但无济于事

有关如何使其工作的任何建议?

解决方法

您需要使用 moduleNameMapper

添加通用模块的映射
  moduleNameMapper: {
    ....,....,'^@common/(.*)$': '<rootDir>/path-to-your-common-module',},

还要确保您正在转换 common 模块并将其添加到 transformIgnorePatterns 配置中。

"transform": {
  "path-to-your-common-module/.+\\.(j|t)sx?$": "common"
},"transformIgnorePatterns": [
  "path-to-your-common-module/(?!common/.*)"
]

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...