无法编译反应应用程序,因为它说“找不到模块”

Posted

技术标签:

【中文标题】无法编译反应应用程序,因为它说“找不到模块”【英文标题】:Unable to compile react application as it says "Module not found" 【发布时间】:2018-06-04 15:52:38 【问题描述】:

我一直在尝试执行一个非常简单的反应应用程序,但由于某种原因我无法编译它。当我尝试使用“npm start”在 bash 中编译它时,我收到错误消息“编译失败:./src/index.js 未找到模块:无法解析 '/Users/Pruthvi/Desktop/ReactApplication/my-app/src' 中的 './registerServiceWorker'"

任何人都可以帮助我,因为我是反应应用程序的新蜜蜂!

【问题讨论】:

您使用的是create-react-app,对吗?您是否删除或修改了您在创建项目时自动创建的任何文件create-react-app 是的,我删除了一些我不需要使用的文件。我指的是一个教程,我已经完全实现了所显示的内容。但由于某种原因,我无法继续学习本教程。 【参考方案1】:

默认情况下,create-react-app 将创建一个渐进式 Web 应用程序,如 here 所述。渐进式 Web 应用程序依赖于 registerServiceWorker.js 文件中的 registerServiceWorker()。您显然已删除此文件,因此您的项目不再构建。

你有两个选择:

    将您的项目保留为渐进式 Web 应用,在这种情况下,您只需恢复首次创建后的原始状态即可。 退出渐进式网络应用功能。

要退出渐进式网络应用功能,您需要修改您的src/index.js 文件,如下所示:

    删除registerServiceWorkerimport。 删除registerServiceWorker() 调用。

您的src/index.js 将如下所示:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
// Deleted -- import registerServiceWorker from './registerServiceWorker';

ReactDOM.render(<App />, document.getElementById('root'));
// Deleted -- registerServiceWorker();

index.js 进行这些修改后,您可以安全地删除registerServiceWorker.js 文件(根据您发布的错误消息,您似乎已经这样做了)。

文档对how to opt out 和部分the consequences of having a progressive web app 进行了更完整的描述。

【讨论】:

非常感谢!这对我有用!我删除了顶部的 import registerServiceWorker,并在代码末尾调用它。忘记删除或评论该行。非常感谢!【参考方案2】:

如果您不熟悉响应并需要快速构建应用程序,您可以尝试 create-react-app by facebook

它是一个命令行工具,可以帮助您以零配置快速构建更好的响应应用程序,您可以从上面的链接中了解更多信息,并且易于使用

还要确保您使用可以帮助您捕获错误的优质编辑器 为了帮助您并第二次给您很好的答案,请提供您的代码以很好地理解问题。

【讨论】:

感谢您的回复!我只是想找出继续进行的答案!

以上是关于无法编译反应应用程序,因为它说“找不到模块”的主要内容,如果未能解决你的问题,请参考以下文章

找不到模块:无法解决 - 反应

找不到模块:无法解析'autosuggest-highlight / match'

找不到模块:错误:无法解析模块“组件/应用程序”。 webpack + reactjs 问题

React 找不到模块

找不到模块:无法解析“./pages”编译失败

npm 错误:通过 CLI 构建创建反应应用程序时找不到模块'.../immer.js'