【发布时间】:2018-02-08 05:31:09
【问题描述】:
我正在使用 react-native 和 typescript 开发应用程序并使用 Jest 进行测试,但是当我使用范围包 (@assets) 时遇到问题,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/
找不到'@assets/img/foo.png'并抛出错误:
无法从“Foo.js”中找到模块“@assets/img/logo.png”
如何在 Jest 中使用范围包?
Jest 版本:20.0.4
谢谢
【问题讨论】:
-
呃。如果您在
node_modules和npm installed /linked 中没有package.json,它不会关心您是否在子文件夹中有package.json。你仍然可以通过 webpack 别名让它工作,见webpack.js.org/configuration/resolve -
@DimitarChristoff,谢谢老兄,我找到了
moduleNameMapper,我可以把它放在开玩笑的配置中。
标签: reactjs typescript scope package jestjs