ius*_*ius 6 javascript node.js reactjs eslint webpack
在React/Webpack项目中工作,我开始遇到eslint库的问题.
使用npm下载eslint包,它用于使用webpack preLoader验证项目.
preLoaders: [{
test: /\.jsx?$/,
loaders: [ 'eslint' ],
include: path.resolve(__dirname, 'app')
}]
Run Code Online (Sandbox Code Playgroud)
它曾经工作正常,直到最近我试图将同一个项目克隆到另一个文件夹.安装依赖项"npm install"并启动项目"npm start"后,出现以下错误.
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
Run Code Online (Sandbox Code Playgroud)
奇怪的是,旧的项目安装仍然有效.
问题必须在node_modules文件夹中的某处,因为当我将模块从旧安装复制到新安装时,项目突然起作用.我在两个项目上都做了"npm list --depth = 0",两者都有相同的包和版本.为什么一个人在工作而另一个人没有?
我猜问题是在eslint包中,因为当我删除preLoader时它再次起作用.
我真的很困惑.有人之前有过这个问题吗?
我的main.view.jsx看起来像那样
import React from 'react';
export default class MainView extends React.Component {
render() {
return (
<div />
);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
ius*_*ius 10
我可以自己解决问题.
隔离一切我发现问题是babel依赖.
出于某种原因,我有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",
Run Code Online (Sandbox Code Playgroud)
在这里我的eslint依赖
"eslint": "1.10.x",
"eslint-loader": "1.1.x",
"eslint-plugin-react": "3.10.x"
Run Code Online (Sandbox Code Playgroud)
希望我失去的时间会帮助别人!
| 归档时间: |
|
| 查看次数: |
2574 次 |
| 最近记录: |