Reactjs 错误:加载插件导入失败:找不到模块';eslint插件导入';部署CreateReact应用程序时

Reactjs 错误:加载插件导入失败:找不到模块';eslint插件导入';部署CreateReact应用程序时,reactjs,create-react-app,Reactjs,Create React App,我是创建react应用程序的新手。我刚刚用redux和react-router-dom进行了快速设置,它使用warn-build在我的计算机上很好地构建,但是当推到Scalingo或Heroku时,构建失败,出现以下错误: ./src/index.jsx Error: Failed to load plugin import: Cannot find module 'eslint-plugin-import' Referenced from: at A

我是创建react应用程序的新手。我刚刚用
redux
react-router-dom
进行了快速设置,它使用
warn-build
在我的计算机上很好地构建,但是当推到Scalingo或Heroku时,构建失败,出现以下错误:

 ./src/index.jsx
       Error: Failed to load plugin import: Cannot find module 'eslint-plugin-import'
       Referenced from:
       at Array.forEach (<anonymous>)
       at Array.reduceRight (<anonymous>)

我不明白为什么我会在我的生产代码中使用
eslint
及其插件,以及如何解决这个问题。您能帮忙吗?

问题是添加了生产中未安装的
devdependency
。覆盖eslint配置是可以的,但是所有需要的包都必须添加到主
依赖项中

将所有
依赖项
移动到
依赖项中
并删除
依赖项


为我解决了问题

从package.json中删除这一行对我来说很有效:

"eslintConfig": {
    "extends": "react-app"
}

我在VisualStudio代码上设置了更漂亮的程序。我认为问题的出现是因为eslintconfig与prettier冲突。还有一个我没有尝试过的选项,那就是安装
eslint config prettier
。以下是关于它的文档:

出于某种原因,从我的CRA包中删除它。json在VS代码中对我有用:

"babel": {
    "presets": [
      "react-app"
    ]
  }

本教程的第3步对我很有用:

"eslintConfig": {
    "extends": "react-app"
}

在根文件夹中创建一个Express JS服务器以服务于生产构建

//server.js
const express = require('express');
const favicon = require('express-favicon');
const path = require('path');
const port = process.env.PORT || 8080;
const app = express();
app.use(favicon(__dirname + '/build/favicon.ico'));
app.use(express.static(__dirname));
app.use(express.static(path.join(__dirname, 'build')));
app.get('/*', function (req, res) {
  res.sendFile(path.join(__dirname, 'build', 'index.html'));
});
app.listen(port);
安装依赖项:

npm install express express-favicon path
然后将package.json中的“start”脚本更改为

"start": "node server.js"

它是三天前发布的,有人说它应该真的有效。也许和你的案子有关有解决办法吗?@ChanceSmith看看答案below@skyboyer:感谢您的链接,我在那里的评论中找到了解决问题的方法:只需删除
node\u模块
并运行
npm I
,或许您可以共享
/src/index.jsx
的导入部分,错误表明此处存在无法找到的导入。也许导入一开始就不应该在那里,但在我看来,你所做的是正确的。这不是答案,因为我以前成功地将eslint配置添加到cra应用程序中,没有问题。另外,它在dev中对我很好,只有当我试图推到heroku时,我才看到错误。我通过将所有devdependency迁移到常规依赖项中解决了这个问题,但必须有另一种方法。是的,这在dev中也适用于我。但是关于
devdependency
这是生产中的真正问题,您是对的。我更新了答案,谢谢你的评论@adam Force。如果您找到了其他解决方案,请告诉我。如果您还记得在哪里读到的话,我很想了解CRA为什么不希望您添加dev dependencies@adesurirey?这并没有解决我的问题。
"start": "node server.js"