3

我正在使用 react 并正在为我的项目尝试新的上下文 API,它是一个“Reddit 克隆”。所以 myContext是在一个名为的文件中创建的,该文件provider.js位于. 现在,我在它自己的文件夹中创建了一个,它通过以下方式导入:srcApp.jsHeaderComponentContext

import Context from '../provider'

LoginComponentHeaderComponent. 而且,LoginComponent它在它自己的文件夹中。现在,我Context通过以下方式导入:

import Context from '.../provider'

树

导入工作正常,../.../导入的抛出和错误。

编译失败。

./src/HeaderComponent/LoginComponent/index.js 模块未找到:无法解析 'C:\Users.......\reddit\reactfe\src\HeaderComponent\LoginComponent' 中的 '.../provider'

4

3 回答 3

11

文件夹结构中的每一步都是 a..后跟一个/.

import Context from '../../provider'
于 2018-06-29T19:46:57.093 回答
4

点的数量并不具有您认为的含义。要记住的事情:

  • ../上一个目录。
  • ../../向上两个目录(等等)。
  • ./与当前目录相同的目录。

考虑到这一点,由于您需要上一个目录(from LoginComponentto HeaderComponent)然后再上一个目录(from HeaderComponentto src),因为那是provider.js所在的位置,您需要执行以下操作:

import Context from '../../provider';
于 2018-06-29T19:52:28.570 回答
1

如果您在控制台中运行,您ls -la会看到.and ..。因此,.它是您当前的本地位置,并且..它是对父文件夹的引用(上一层)。所以如果你需要返回两个文件夹,你需要把它放两次,这样../../

在你的情况下import Context from '../../provider'

于 2018-06-29T19:52:32.473 回答