javascript - 如何让 ESLint 在 VSCode 中对 HTML 文件进行 lint?
问题描述
我有一个 Javascript 浏览器项目拆分为多个文件,并且无法让 ESLint 在同一全局范围内对我的 HTML 文件的脚本标签进行 lint,以便一个文件中的类和函数的声明和调用在另一个文件中被识别。
这是我的项目结构:
这是 foo.js 的内容:
sayHello();
和 bar.js:
function sayHello() {
console.log('Hello');
}
我已将它们都链接到 HTML 文件中:
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="main.css">
<script src="libraries/bar.js" type="text/javascript"></script>
<script src="foo.js" type="text/javascript"></script>
</head>
<body>
</body>
</html>
我认为解决方案是使用 eslint-plugin-html 包,但尝试配置它没有运气。这些是我在项目本地安装的包:
Alexs-MacBook-Pro:Demo alexmcdermott$ npm list --depth=0
demo@1.0.0 /Users/alexmcdermott/GitHub/Demo
├── eslint@5.12.0
├── eslint-config-airbnb-base@13.1.0
├── eslint-plugin-html@5.0.0
└── eslint-plugin-import@2.14.0
我正在使用 VSCode 编辑器,但在终端中也遇到了同样的问题:
Alexs-MacBook-Pro:Demo alexmcdermott$ npx eslint --ext .js,.html .
/Users/alexmcdermott/GitHub/Demo/foo.js
1:1 error 'sayHello' is not defined no-undef
/Users/alexmcdermott/GitHub/Demo/libraries/bar.js
1:10 error 'sayHello' is defined but never used no-unused-vars
2:3 warning Unexpected console statement no-console
✖ 3 problems (2 errors, 1 warning)
在 VSCode 中也一样:
这是我的 ESLint 配置:
{
"env": {
"browser": true,
"es6": true
},
"extends": "airbnb-base",
"plugins": [ "html" ]
}
我还配置了 VSCode 以在我的 VSCode 用户设置中使用以下选项在 HTML 文件上运行 ESLint:
{
"eslint.autoFixOnSave": true,
"eslint.options": {
"extensions": [ ".js", ".html" ]
},
"eslint.validate": [
"javascript",
{
"language": "html",
"autoFix": true
}
]
}
虽然我一定是做错了什么,还是错过了 eslint-plugin-html 的重点?如果有人对我做错了什么或如何解决这个问题有任何意见,我将不胜感激,因为我多年来一直坚持这一点。如果我需要提供更多信息,请告诉我,我是新手。
解决方案
推荐阅读
- python - opencv中重叠圆圈之间的黑色区域 - python
- c# - 在 ASP.NET MVC 中将 10000 个数据上传到 Devextreme 数据网格时出现问题
- mysql - mySQL如何从没有组的重复值中选择MAX(日期)
- javascript - 无法从片段活动中的 firebase 获取值列表、图像
- javascript - Vuetify 验证消息变量
- java - GLFW 高 GPU 使用率
- apt - 如何在 Ubuntu 20.04 上安装 lubicu66?
- python - Python递归(可能是递归内的递归?)将例如字符串划分为子字符串(每个子字符串都可以有更多的子字符串)
- groovy - 使用 Groovy 的 YAMLBuilder 时有什么方法可以排除空属性?
- html - 使用 svg 本地文件而不是图标(从 Bootstrap 5 图标到本地 svg 文件导入)