使用 Atom 和 React Native 的 ESLint 意外解析错误

Posted

技术标签:

【中文标题】使用 Atom 和 React Native 的 ESLint 意外解析错误【英文标题】:ESLint Unexpected Parsing error with Atom & React Native 【发布时间】:2018-11-27 18:42:17 【问题描述】:

在玩弄一个简单的 react-native 设置时,我突然发现了一些(也许不是这样)奇怪的 ESLint 东西。

这是我的 javascript 文件:

import React from 'react';
import  Text, View  from 'react-native';

const Header = () => 
  const  textStyle  = styles;
  return (
    <View>
      <Text style=textStyle>App Header!</Text>
    <View/>
  );
;
const styles = 
  textStyle: 
    fontSize: 20
  
;
export default Header;

问题来自textStyle: 行中的以下 ESLint 错误:

Parsing error: Unexpected token, expected "" (Fatal)

我在Atom 中安装了最新的linter (v2.2.0) 和linter-eslint (v8.4.1) 软件包。

我正在使用npmrally-coding 中的一组预定义规则,我已将其作为开发依赖项安装在项目中,这是我的.eslintrc 文件:


  "extends": "rallycoding",
  "parser": "babel-eslint",
  "ecmaFeatures": 
    "jsx": true
  

任何想法可能来自哪里?到目前为止,(许多)Github 问题线程中建议的解决方法都没有帮助。

【问题讨论】:

&lt;View/&gt; 应该是&lt;/View&gt; @bennygenel 很好发现,谢谢。据称,这个 linter 让我相互转身,实际上阻止了我更早地发现真正的错误位置。我的意思是说真的…… @bennygenel 这应该是答案,如果你能把它变成一个答案,那么我可以接受它。 【参考方案1】:

语法错误是由未关闭的View 标签引起的。

&lt;View/&gt; 应该是&lt;/View&gt;

旁注: linter 对于这类错误并不总是很准确。一个小建议是,如果您遇到expected "" 错误并且已经检查了所有,请始终检查您是否关闭了所有标签

【讨论】:

以上是关于使用 Atom 和 React Native 的 ESLint 意外解析错误的主要内容,如果未能解决你的问题,请参考以下文章

React Native编辑器Atom+Nuclide插件的配置和安装及编译项目

Atom 调试 react-native throw 超出最大调用堆栈大小

React Native入门Atom+Nuclide安装配置与调试

React Native开发之IDE(Atom+Nuclide)安装,运行,调试

后盾 React Native 开发系列视频课程

React Native 打包程序没有找到 package.json