【问题标题】:React project failing to compile after changing a file name from .js to .jsx将文件名从 .js 更改为 .jsx 后,React 项目无法编译
【发布时间】:2019-12-12 12:17:21
【问题描述】:

我遇到了一些障碍。

我意识到我项目的合作伙伴将文件设置为 .js 而不是 .jsx。 我切换了文件类型以匹配项目中的其余文件,现在我遇到了这个错误。

index.js:1 ./src/Components/SignUp/SignUp.js 错误:ENOENT:没有这样的 文件或目录,打开 '~/src/Components/SignUp/SignUp.js'

我为“~”替换了一些路径。

我在我的项目中搜索了SignUp 的所有实例,但找不到任何似乎会阻止它查找 .js 文件的内容。有没有人有什么建议?

【问题讨论】:

  • 我会尝试将 SignUp.js 完全移动到另一个文件夹中,并适当地更改其所有 imports,看看是否可行。如果它确实有效,那么尝试将其移回并查看它是否仍然有效
  • 作为记录,对于主要导出也是 React 组件的任何文件,我也更喜欢 .jsx 文件扩展名
  • 或者,尝试将 SignUp.js 的名称更改为 SignUpTest.js 之类的,看看是否可以编译
  • 将文件重命名为 .js,将其移至另一个文件夹,将路由更改为该文件夹,然后将其移回,重命名,然后再次更新路由?
  • 如果它在root\SignUp\SignUp.jsx 中并且无法在那里编译,请将其移至root\SignUpTest\SignUp.jsx,修复所有导入,然后先尝试。我想知道 React 是否有某种编译缓存,这样做会清除它期望错误的文件扩展名

标签: javascript reactjs jsx


【解决方案1】:

通过再次打开和关闭它的魔法解决了这个问题。虽然您可以在不重新启动服务器的情况下添加文件,但编辑文件名(或至少是文件扩展名)需要重新启动服务器。

【讨论】:

  • 它不起作用。我也尝试过 yarn build... 有什么解决方案吗?
  • 谢谢你,好心的陌生人
【解决方案2】:

我只是不知道如何或为什么,但在运行yarn cache clean 并重新启动我的计算机后它再次工作。我没有找到其他答案哈哈。

【讨论】:

  • 您必须重新启动程序或计算机?
  • @mishsx 我的电脑。这是唯一对我有用的解决方案。
猜你喜欢
  • 1970-01-01
  • 2019-06-09
  • 2022-11-28
  • 1970-01-01
  • 2021-06-02
  • 2020-01-30
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多