我正在尝试为我正在制作的库编写一些测试。这不是一个 creat-react-app 项目,而是用 babel 从头开始构建的项目。我正在使用jest,我遇到了这个问题。我看到了类似的问题,但没有像这样的。"test": "jest"
我的 package.json 脚本中有。__tests__
我的根文件夹中有一个目录。我的测试文件之一名为Component.js
,以一些简单的导入开始:
import React from 'react';
import { MyComponent } from '../src/MyComponent.js';
Run Code Online (Sandbox Code Playgroud)
当我运行时npm run test
,我收到此错误:
Cannot find module 'react' from '__tests__/MyComponent.js'
> 1 | import React from 'react';
Run Code Online (Sandbox Code Playgroud)
即使我注释掉反应导入,我也会收到此错误:
Cannot find module 'react' from 'src/MyComponent.js'
Require stack:
src/MyComponent.js
__tests__/MyComponent.js
> 1 | import React from 'react';
Run Code Online (Sandbox Code Playgroud)
这种情况不仅发生在 React 中,而且发生在测试中导入的任何节点模块或测试导入的任何模块中。我不明白。jest不知道在node_modules文件夹中寻找这些模块吗?我的 package.json 中没有任何 jest.config.js 或任何jest
属性 - 我认为我不需要指定 jest 应该在node_moduldes
文件夹中查找这些模块。我是否需要为 jest 设置一些配置才能在 node_modules 中查找这些类型的导入?我觉得这里有一个简单的修复方法在暗示我。谢谢阅读。
编辑:摩卡给了我类似的问题 …
建立:
包 models
包 app
app> npm link models
问题:
开发时models
,我需要安装mongoose node_modules
,否则找不到猫鼬.
但是,当使用models
under时app
,如果mongoose存在于node_modules
in中models
,它将使用该副本而不是共享同一个mongoose实例app
.
我现在开始工作的方式是在开发时安装mongoose models
,然后在使用它时删除它app
.我已经研究过,parent-require
但这似乎只解决了npm链接没有从父级找到包的问题,而不是必须删除/安装node_module的问题(或者我这样做不正确?)