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]

Visual Studio Code 扩展突然停止工作