2015-12-22 70 views
4

忽略意外的保留字错误我正在使用最新的React,Babel以及它们的必要预设。
我的应用程序能够正常工作,并且不会吐出任何控制台错误。
但是,我从eslint-loader得到以下错误。
我该如何解决这个问题?我可以通过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); 

回答

-1

我配置eslint理解JSX,所以这里是一步此错误的解决方案。

  1. 创建具有以下

    一个.elintrc文件{ “ecmaFeatures”:{ “JSX”:真 }}

  2. 加入webpack.config.js以下

    module.exports = { ... module:{ preLoaders:[ { 测试:/.js?$/, 装载机: “eslint装载机”, 排除:/bundle.js$/ } ], 装载机: { 试验:/.jsx?$/ , 装载机: “巴别”, 排除:/ node_modules /, 查询:{ cacheDirectory:真, 预设:[ “ES2015”, “反应”] } } ] }, eslint:{ configFile:'./.eslintrc' } }

0

你可能需要CONFI希望了解jsx。创建.eslintrc文件有以下几点:

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

对于CONFIGS的完整列表,这可能在未来引发错误的你,see the docs

+0

我设置并添加了'eslint:{configFile:'./.eslintrc'}'但它仍然是一样的。我修正了它,当我把preLoaders中的'test:/.jsx?$ /'改为'test:/.js?$ /' – seoyoochan