首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >eslint不处理多个package.json

eslint不处理多个package.json
EN

Stack Overflow用户
提问于 2017-10-08 08:54:09
回答 2查看 2.7K关注 0票数 5

我的项目有两个package.json

代码语言:javascript
运行
复制
root folder

└ app ---- /public
         └ /styles
         └ /src
         └ package.json
         └ eslintrc.json
         └ webpack.config.js

└ server - /something
         └ /something

└ package.json
└ ...etc

原子编辑器显示林特错误

代码语言:javascript
运行
复制
import React from 'react';
// 'react' should be listed in the project's dependencies. Run 'npm i -S react' to add it (import/no-extraneous-dependencies)

在package.json中

代码语言:javascript
运行
复制
"dependencies": {
  "@types/chart.js": "^2.6.8",
  "@types/react": "^16.0.10",
  "@types/react-dom": "^16.0.1",
  "bootstrap": "^4.0.0-beta",
  "chart.js": "2.6.0",
  "font-awesome": "^4.7.0",
  "history": "4.7.2",
  "jwt-decode": "^2.2.0",
  "prop-types": "^15.6.0",
  "react": "^15.6.1",
  "react-chartjs-2": "2.6.1",
  "react-dom": "^15.6.1",
  "react-router-dom": "4.2.2",
  "react-transition-group": "^1.2.0",
  "reactstrap": "^4.8.0",
  "simple-line-icons": "^2.4.1"
},

在eslintrc.json中

代码语言:javascript
运行
复制
module.exports = {
  "extends": "airbnb",

  "env": {
     "browser": true,
     "node": true
   },

  "rules": {
     "no-mixed-operators": [2, { "allowSamePrecedence": true }],
     "react/no-find-dom-node": 1,
     "react/no-string-refs": 1,
     "react/no-unused-prop-types": 1, // TODO: enable
     "jsx-a11y/no-static-element-interactions": 1, // TODO: enable
     "no-plusplus": 1, // TODO: enable
     "no-console": 0, // TODO: enable
     "no-alert": 0,
     "max-len": ["error", 120],
     "no-underscore-dangle": ["error", { "allow": ["_isMounted"] }],
     "import/no-extraneous-dependencies": ["error", {"devDependencies": true}],
  },
};

我认为eslint将根文件夹中的package.json识别为标准。但我希望它忽略根文件夹中的package.json,在src文件夹中识别package.json。

我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-08 09:20:18

我自己解决了这个问题。

在packageDir中添加“.eslintrc.json”:"./src“

代码语言:javascript
运行
复制
"rules" : {
   ""import/no-extraneous-dependencies": ["error", {"devDependencies": true, "packageDir": "./src"}],
票数 3
EN

Stack Overflow用户

发布于 2017-10-08 09:30:33

这可能与此无关,但我要注意的第一项是,您可能需要将您的ESLint配置从eslintrc.json重命名为.eslintrc.json (在名称之前有一个点)。可能不是麻烦的根源,但可能会干扰分级解决方案。您可以在这里查看多种配置扩展格式:https://eslint.org/docs/user-guide/configuring#configuration-file-formats

具体来说,关于import/no-extraneous-dependencies规则,我认为您可能要寻找的配置选项是packageDir。引用医生在他们的回购:

另外还有一个名为packageDir的选项,这个选项是指定包含package.json的文件夹的路径,并且是相对于当前的工作目录。 "import/no-extraneous-dependencies": ["error", {"packageDir": './some-dir/'}]

希望这能有所帮助!

来源:

https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-extraneous-dependencies.md

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46629255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档