3

节点模块:

  • 埃斯林特 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 插件。

这个 Visual Studio 模块定义了一个.eslintrc文件C:\Users\My-Username,我已经继续并更新了这个文件,以及使用这个配置的 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 以与命令行工具相同的方式运行的任何想法?

Visual Studio Linting 错误

4

2 回答 2

0

实际上在 Es6 中对于 defaultProps 你必须在类之外设置它,例如:

class NotepadComponent extends React.Component {
  constructor(props){
    super(props);
  }
}
NotepadComponent.defaultProps ={
                               activeTab:'type'
                               }
NotepadComponent.displayName = 'NotepadComponent'

我不确定它是否是你要找的,但也许这对你有帮助

于 2016-01-21T21:43:13.487 回答
0

与 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 自定义规则

于 2016-04-14T07:46:16.790 回答