我使用create-react-app制作反应应用程序。
linter在create-react-app中工作,但现在我想让它在我的sublimetext中工作。
yarn global add eslint
(eslint v4.1.1但也尝试过v3.19.0,因为反应应用程序使用了那个)eslint --init
并对其进行配置.eslintrc
{ "extends": "react-app" }
eslint src/App.js
在终端中收到错误:
引用自:/mnt/storage/Dev/newapp/.eslintrc 错误:无法找到模块' eslint-config-react-app'
引用自:/mnt/storage/Dev/newapp/.eslintrc 在ModuleResolver.resolve(/home/user/.config/yarn/global/node_modules/eslint/lib/util/module-resolver.js:74:19) at resolve(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:515:25) 在加载时(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:584:26) 在configExtends.reduceRight(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:421:36) 在Array.reduceRight(本机) at applyExtends(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:405:28) at loadFromDisk(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:556:22) at Object.load(/home/user/.config/yarn/global/node_modules/eslint/lib/config/config-file.js:592:20) 在Config.getLocalConfigHierarchy(/home/user/.config/yarn/global/node_modules/eslint/lib/config.js:228:44) 在Config.getConfigHierarchy(/home/user/.config/yarn/global/node_modules/eslint/lib/config.js:182:43)
我添加了yarn global add babel-eslint eslint-plugin-react eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-flowtype
。但我认为这不再是必要了!
答案 0 :(得分:4)
我认为如果添加错误消息(eslint-config-react-app
)中提到的模块,它应该有效吗?例如。 yarn add --dev eslint-config-react-app
答案 1 :(得分:2)
所以我发现你必须安装所有' eslint包全局。因为它不会让你处理全局的eslint和本地包
所以我做的是
yarn global add eslint@^3.19.0 eslint-plugin-jsx-a11y@^5.0.
现在可行:|
答案 2 :(得分:0)
您的package-lock.json
文件中可能存在配置错误,其中已删除了ESLint。我遇到了完全相同的问题,并通过以下方式解决了该问题:
cd <your-project-directory>
rm package-lock.json
rm -rf node_modules
npm install
您可以运行npm ls eslint --depth=99
来验证eslint
软件包是否已安装。我在GitHub上通过comment from feross偶然发现了这一点。
答案 3 :(得分:0)
首先安装此软件包,ESLint和必要的插件。
npm install --save-dev eslint-config-react-app babel-eslint@9.x eslint@5.x eslint-plugin-flowtype@2.x eslint-plugin-import@2.x eslint-plugin-jsx-a11y@6.x eslint-plugin-react@7.x
然后在项目的根文件夹中创建一个名为.eslintrc.json的文件,其中包含以下内容:
{
"root": true,
"ecmaFeatures": {
"jsx": true
},
"env": {
"browser": true,
"node": true,
"jquery": true
},
"rules": {
"quotes": 0,
"no-trailing-spaces": 0,
"eol-last": 0,
"no-unused-vars": 0,
"no-underscore-dangle": 0,
"no-alert": 0,
"no-lone-blocks": 0
},
"globals": {
"jQuery": true,
"$": true
}
}