我正在开发与react-native和typescript的应用程序并使用Jest进行测试,但是当我使用作用域包(@assets)时,我遇到问题,jest无法找到路径并给出错误。与Jest使用范围包
的目录结构如下所示:
project/
assets/
img/
foo.png
package.json
src/
Foo.ts
build/
Foo.js
// assets/package.json
{
"name": "@assets" // My @assets scope
}
// build/Foo.js
const image = require('@assets/img/foo.png'); // <- error in Jest
所以,当我运行的笑话:
npm run jest build/
它无法找到 '@资产/ IMG/foo.png',并抛出错误:
Cannot find module '@assets/img/logo.png' from 'Foo.js'
如何在Jest中使用范围包?
玩笑版本:20.0.4
感谢
erm。如果你没有在'node_modules'和'npm install'ed /'链接''中获得'package.json',它就不会在意子节点。你仍然可以通过webpack别名得到它的工作,请参阅https://webpack.js.org/configuration/resolve/ –
@DimitarChristoff,感谢兄弟,我找到了'moduleNameMapper',我可以放在jest config中。 – Armando