开玩笑由于babel-plugin-import而中断。我在Ant设计中使用.less样式,我认为是造成这种情况的原因。我是Jest库的新手,所以不确定如何导入或解决该问题?
示例:
Test Suite failed to run
Cannot find module 'antd/lib/skeleton/style' from 'index.js'
.babelrc文件
"plugins": [
["import", { "libraryName": "antd", "style": true }],
我尝试了许多解决方案,例如babel-jest,moduleNameMapper等,但是很可能我没有正确使用它们。
答案 0 :(得分:0)
对此的正确答案是:
在.babelrc中:
.babelrc中“ env”下的生产,开发和“测试”分开。在生产和开发中,保持babel-plugin-import不变。在“测试”中,确保将其删除(开玩笑无法处理)。
在Package.json中
欢迎您在此文件中配置Jest,但最重要的是在NPM脚本上进行测试,将其传递给NODE_ENV=test jest
,以便它设置babel将要引用的正确环境。
Docker / Virtualenv / Kubernetes用户
最后,如果您使用的是Docker / Kubernetes或某种在本地计算机之外的任何位置安装了软件包的工具,请确保已实际安装了软件包.....删除babel-plugin时我忘记了-从“测试”导入,开始发现antd is undefined
的错误,这让我有些scratch异。我一意识到这是因为Ant Design仅安装在我的Kubernetes节点上,而实际上没有安装在运行命令的计算机上。愚蠢的错误,但是当您看到数小时的错误代码时,很容易犯错。