Javascript Eslint-超过最大调用堆栈大小

Javascript Eslint-超过最大调用堆栈大小,javascript,node.js,reactjs,webpack,eslint,Javascript,Node.js,Reactjs,Webpack,Eslint,在React/Webpack项目中工作时,我开始遇到eslint库的问题 eslint包是使用npm下载的,它用于使用webpack预加载程序验证项目 preLoaders: [{ test: /\.jsx?$/, loaders: [ 'eslint' ], include: path.resolve(__dirname, 'app') }] 直到最近我试图用git将同一个项目克隆到另一个

在React/Webpack项目中工作时,我开始遇到eslint库的问题

eslint包是使用npm下载的,它用于使用webpack预加载程序验证项目

        preLoaders: [{
            test: /\.jsx?$/,
            loaders: [ 'eslint' ],
            include: path.resolve(__dirname, 'app')
        }]
直到最近我试图用git将同一个项目克隆到另一个文件夹时,它才开始正常工作。 安装依赖项“npm安装”并启动项目“npm启动”后,出现以下错误

    ERROR in ./main.view.jsx
Module build failed: RangeError: Maximum call stack size exceeded
    at keys (native)
    at Referencer.Visitor.visitChildren (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:78:24)
    at Referencer.Visitor.visit (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
    at Referencer.Visitor.visit (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:88:38)
    at Referencer.Visitor.visit (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:112:14)
    at Referencer.Visitor.visitChildren (project/node_modules/eslint/node_modules/escope/node_modules/esrecurse/esrecurse.js:93:26)
 @ ./app.jsx 17:26-57
奇怪的是,老项目的安装仍然有效

问题一定在node_modules文件夹中的某个地方,因为当我将模块从旧安装复制到新安装时,项目突然开始工作。 我在这两个项目上都做了一个“npm列表——深度=0”,并且都有相同的包和版本。为什么一个在工作而另一个没有

我猜问题出在eslint包中,因为当我移除预加载程序时,它会再次工作

我真的很困惑。以前有人有过这个问题

我的main.view.jsx看起来是这样的

import React from 'react';
export default class MainView extends React.Component {
    render() {
        return (
            <div />
        );
    }
}
从“React”导入React;
导出默认类MainView扩展React.Component{
render(){
返回(
);
}
}

谢谢

我可以自己解决这个问题

隔离一切我发现问题在于巴别塔的依赖性

出于某种原因,我使用的babel core、babel loader和babel eslint版本的组合不能正常工作。 我在package.json中更改了项目所需的babel版本,现在一切正常

-    "babel-core": "5.6.x",
-    "babel-loader": "5.3.x",
-    "babel-eslint": "3.1.x",
+    "babel-core": "5.8.x",
+    "babel-loader": "5.4.x",
+    "babel-eslint": "4.1.x",
这里是我的eslint依赖项

"eslint": "1.10.x",
"eslint-loader": "1.1.x",
"eslint-plugin-react": "3.10.x"

希望我失去的时间能帮助别人

通过线程查看,现在的解决方案非常简单,就是将babel eslint更新为4.1.6。例如,“babel eslint”:“^4.1.6”。现在可以工作了:)

那么/main.view.jsx呢?你也可以展示一下吗?@nAz我刚刚用main.view.jsx更新了这个问题。正如您将看到的,它只是一个空的react组件。我尝试尽可能地隔离环境。更新eslint为我解决了这个问题。它确实帮助了其他人!:嗯,我真的不明白为什么这是选择的答案。这一解决方案很快将成为不可行的解决方案。仅此而已:)仍然可用。为我工作。