即使我正确设置了路径,React 也没有找到模块

Posted

技术标签:

【中文标题】即使我正确设置了路径,React 也没有找到模块【英文标题】:React isn't finding a module even though I set the path correctly 【发布时间】:2020-03-09 21:15:55 【问题描述】:

我是新手,所以我为这个问题的菜鸟道歉。

我刚刚创建了一个新的 React 应用程序,并且一直在玩弄文件夹结构。以下是我当前的文件夹结构:

react-app
  |_ src
    |_ assets
      |_ images
        |_ logo
          |_ logo.svg
    |_ components
      |_ App
        |_ App.js
    index.js

在/react-app/src/components/App/App.js,我需要导入logo.svg,它位于/react-app/src/assets/images/logo/logo.svg。/src/assets/images/logo/logo.svg p>

在 App.js 中,我有这一行来导入徽标:

import logo from '../assets/images/logo/logo.svg';

我收到以下错误:

./src/components/App/App.js
Module not found: Can't resolve '../assets/images/logo/logo.svg'

我尝试了什么:

将其更改为“./assets/images/logo/logo.svg” 将其更改为“/assets/images/logo/logo.svg” 将其更改为“/src/assets/images/logo/logo.svg” 将其更改为“.../assets/images/logo/logo.svg” 将其更改为“..../assets/images/logo/logo.svg” 将其更改为“...../assets/images/logo/logo.svg”

我将 logo.svg 放在 src/components/App 中,它使用 './logo.svg' 加载得很好

然后我将 logo.svg 放在 src/components 中,并能够使用 '../logo.svg' 加载它

我把它放在src中,使用'.../logo.svg'时再次出现错误

结论:我无法导入 logo.svg,当它在尝试导入它的组件上方超过两个目录时。

我在这里错过了什么?

【问题讨论】:

【参考方案1】:

您应该将导入路径更改为../../assets/images/logo/logo.svg

每个../表示上一级目录。

原来如此

    ../,上components目录 ../,再上src目录 assets/,进入assets目录 logo/,进入logo 内的logo 目录assets logo.svg,终于拿到文件了

【讨论】:

以上是关于即使我正确设置了路径,React 也没有找到模块的主要内容,如果未能解决你的问题,请参考以下文章

即使路径正确,也无法在 Node 中找到文件

A* 寻路缓慢

即使 JAVA_HOME 路径正确,Tomcat 也没有运行

即使规则设置为 true,也可以用 firebase 反应 CORS 问题

即使正确设置了 tabindex,提交按钮也没有聚焦

即使成功运行,我的角度组件也没有包含在我的角度模块中