我可以忽略 eslint-loader 的意外保留字错误吗

Can I ignore Unexpected reserved word error by eslint-loader

我正在使用最新的 React、Babel 以及它们必要的预设。
我的应用程序运行正常,不会出现任何控制台错误。
但是,我从 eslint-loader.
收到以下错误 我该如何解决这个问题?

我的主机

blog git:(master) ✗ webpack -w -d
Hash: 96cef29fd40f9ab86ee5
Version: webpack 1.12.9
Time: 1305ms
        Asset     Size  Chunks             Chunk Names
    bundle.js  3.75 kB       0  [emitted]  main
bundle.js.map  2.07 kB       0  [emitted]  main
    + 1 hidden modules

ERROR in ./app/assets/frontend/app.jsx

/Users/seoyoochan/dev/blog/app/assets/frontend/app.jsx
  1:2  error  Parsing error: Unexpected reserved word

✖ 1 problem (1 error, 0 warnings)

webpack.config.js

module.exports = {
entry: "./app/assets/frontend/app.jsx",
output: {
    path: __dirname + "/app/assets/javascripts",
    filename: "bundle.js"
},
resolve: {
  extensions: ["", ".js", ".jsx"]
},
module: {
  preLoaders: [
    {
      test: /.jsx?$/,
      loader: "eslint-loader",
      exclude: /bundle\.js$/
    }
  ],
  loaders: [
    {
      test: /.jsx?$/,
      loader: "babel",
      exclude: /node_modules/,
      query: {
        cacheDirectory: true,
        presets: ["es2015", "react"]
      }
    }
  ]
}
};

app.jsx

class App extends React.Component {

      render() {
        return (<h1>hello !</h1>);
      }
    }

    let documentReady = () => {
      ReactDOM.render(<App/>, document.getElementById('app'));
    };

    $(documentReady);

您可能需要配置 eslint 才能理解 jsx。使用以下内容创建 .eslintrc 文件:

{
  "ecmaFeatures": {
      "jsx": true
  }
}

对于将来可能会引发错误的配置的完整列表,see the docs

我配置了eslint来理解jsx,所以这里是这个错误的分步解决方案。

  1. 使用以下

    创建一个 .elintrc 文件

    { "ecmaFeatures":{ "jsx":正确 } }

  2. 在webpack.config.js中添加以下内容

    module.exports = { ... 模块: { 预加载器:[ { 测试:/.js?$/, 装载机:"eslint-loader", 排除:/bundle.js$/ } ], 装载机:[ { 测试:/.jsx?$/, 装载机:"babel", 排除:/node_modules/, 询问: { 缓存目录:真, 预设:["es2015"、"react"] } } ] }, eslint:{ 配置文件:'./.eslintrc' } }