eslint 'html-webpack-plugin' 应该列在项目的依赖项中,而不是 devDependencies 中。 (导入/无外部依赖项)

Posted

技术标签:

【中文标题】eslint \'html-webpack-plugin\' 应该列在项目的依赖项中,而不是 devDependencies 中。 (导入/无外部依赖项)【英文标题】:eslint 'html-webpack-plugin' should be listed in the project's dependencies, not devDependencies. (import/no-extraneous-dependencies)eslint 'html-webpack-plugin' 应该列在项目的依赖项中,而不是 devDependencies 中。 (导入/无外部依赖项) 【发布时间】:2018-10-29 12:08:14 【问题描述】:

在我的 Vs 代码编辑器中,我在简单的 require 语句中出现以下错误,例如:

const htmlWebpackPlugin = require('html-webpack-plugin')

错误:[eslint] 'html-webpack-plugin' 应该列在项目的依赖项中,而不是 devDependencies。 (导入/无外部依赖项)

谁能在我的 webpack 配置中用简单的 require 语句解释什么是无外部依赖关系以及为什么它给我这个错误。我浏览了这个链接:eslint should be listed in the project's dependencies, not devDependencies 但这并没有太大帮助,因为它没有解释我为什么要添加该行。

我的 eslintrc.json 文件:


  "env": 
    "browser": true,
    "es6": true,
    "commonjs": true,
    "node": true
  ,
  "extends": ["airbnb", "prettier", "prettier/react"],
  "plugins": ["prettier"],
  "parserOptions": 
    "ecmaVersion": 6,
    "sourceType": "module",
    "ecmaFeatures": 
      "jsx": true
    
  

【问题讨论】:

【参考方案1】:

你只需要告诉 eslint 在 webpack 中需要 dev 依赖就可以了。

你可以在你的 webpack 文件夹中创建.eslintrc

rules:
  import/no-extraneous-dependencies: [error,  devDependencies: true ]

这将防止错误出现。

或者你也可以设置

const HtmlWebpackPlugin = require('html-webpack-plugin'); // eslint-disable-line import/no-extraneous-dependencies

只禁用这一行

【讨论】:

以上是关于eslint 'html-webpack-plugin' 应该列在项目的依赖项中,而不是 devDependencies 中。 (导入/无外部依赖项)的主要内容,如果未能解决你的问题,请参考以下文章

ESLint 无法识别“@typescript-eslint/eslint-plugin”

无法加载插件@typescript-eslint:找不到模块'eslint-plugin-@typescript-eslint'

【Eslint配置】 eslint-config-* 和 eslint-plugin-* 的区别

ESLint规范

vscode 自动 eslint 校验

vscode中eslint不生效原因