Visual Studio 中的 EsLint - 无法在 javascript 文件上使用静态道具
Posted
技术标签:
【中文标题】Visual Studio 中的 EsLint - 无法在 javascript 文件上使用静态道具【英文标题】:EsLint from Visual Studio - Unable to use static props on javascript files 【发布时间】:2016-04-27 05:56:19 【问题描述】:节点模块:
EsLint 1.10.3 Babel-EsLint 4.1.6 Eslint-plugin-react 3.15.0正在检查的示例文件:
class NotepadComponent extends React.Component
static displayName = 'NotepadComponent'
static defaultProps =
activeTab: 'type'
在命令行下,我可以毫无问题地使用 babel 进行 lint 和 transpile。问题是试图从视觉工作室进行 lint。我正在使用内部使用 esLint 的 Web Analyzer plugin。
此 Visual Studio 模块在 C:\Users\My-Username
下定义了一个 .eslintrc
文件,我已继续更新此文件,以及使用此配置的 node_modules 的主文件夹:
"parser": "babel-eslint",
"ecmaFeatures":
"jsx": true,
"classes": true
,
"plugins": [
"react"
],
"env":
"browser": true,
"node": true,
"es6": true,
"jquery": true
,
但我仍然收到“JSX Parser: Unexpected Token =" 错误:
关于让 Web Analyzer 以与命令行工具相同的方式运行的任何想法?
【问题讨论】:
【参考方案1】:实际上在 Es6 中对于 defaultProps 你必须在类外设置它,例如:
class NotepadComponent extends React.Component
constructor(props)
super(props);
NotepadComponent.defaultProps =
activeTab:'type'
NotepadComponent.displayName = 'NotepadComponent'
我不确定它是否是你要找的,但也许这对你有帮助
【讨论】:
静态关键字是 ecmascript 2015 定义的一部分:developer.mozilla.org/en-US/docs/Web/javascript/Reference/…【参考方案2】:我在使用 TSLint 和 Web Analyzer 时遇到了同样的问题。事实证明,Web Analyzer 在 C:\Users\[User]\AppData\Local\Temp\WebAnalyzer1.7.75 中使用自己的 node_modules 安装。在那里,您还可以找到一个 nodeJS 服务器 (.js),它将 lint 结果传送到 Visual Studio。我能够调整此服务器以在 Visual Studio 中获得更多错误反馈。这个反馈告诉我应该在 C:\Users\[User]\AppData\Local\Temp\WebAnalyzer1.7.75 中安装缺少的 npm 包。和 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE。也许你可以对 ESLint 做同样的事情。另见WebEssentials tslint custom rules
【讨论】:
以上是关于Visual Studio 中的 EsLint - 无法在 javascript 文件上使用静态道具的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio Code 格式化ESlint 的方法
Visual Studio Code:无法将 ESLint 修复应用于文档
Visual Studio 2019 - 使用项目特定的 ESLint 配置 .eslintrc
如何判断 ESLint Visual Studio 2019 运行的是哪个版本?
Visual Studio Code [eslint] 在 Windows 上删除 'CR' [prettier/prettier]