2016-08-04 26 views
10

React projemde Airbnb'nın Javascript standartları ile leke oluşturmaya çalışıyorum, webpack kullanıyor.React ve Webpack ile Airbnb ESLint'i kurma

Yorumlar temel alınarak en son paketler ile güncellendi.

"babel-eslint": "^6.1.2", 
"eslint": "^3.2.2", 
"eslint-config-airbnb": "^10.0.0", 
"eslint-plugin-import": "^1.12.0", 
"eslint-plugin-jsx-a11y": "^2.0.1", 
"eslint-plugin-react": "^6.0.0", 
"jshint": "^2.9.2", 
"jshint-loader": "^0.8.3", 
"json-loader": "^0.5.4", 

Ben de webpack config

preLoaders: [ 
    { 
     test: /\.jsx?$/, 
     loaders: ['eslint'], 
     // define an include so we check just the files we need 
     include: PATHS.app 
    } 
], 

bir önyükleyici kurulum Ve

şunlarla olan bir .eslintrc dosya komut

"lint": "eslint . --ext .js --ext .jsx --ignore-path .gitignore --cache", 
çalıştırmak için kurmak aşağıdaki

{ 
    "extends": "airbnb", 
    "env": { 
     "node": true, 
     "es6": true 
    } 
} 

Bu bana aşağıdaki hatayı veriyor:

Configuration for rule "react/jsx-sort-props" is invalid: 
Value "data["0"].shorthandLast" has additional properties. 

i çelişkili olabileceğini düşündüm .eslintrc dosyayı kaldırırsanız, aşağıdaki hatayı alıyorum:

error Parsing error: The keyword 'const' is reserved 

görevi neden olan bir npm hatası Ardından çıkışa doğru.

Herhangi bir yardım için teşekkür ederiz!

+0

Eslint 3 ile denediniz mi? Son zamanlardaki bazı değişiklikler vardı ve bu hataya dayandırdı, bu yüzden kırıldı. Henüz bir sebepten ötürü eslint 3'ü kullanamazsanız, o zaman onunla uyumlu olan önceden ayarlanmış eski bir sürümünü kullanmanız gerekir. –

+0

Aslında eslint var 3.9.5 install @ JuhoVepsäläinen bu kadar geç bir sürüm mü? – Ash

+1

Küresel olarak kurulu olsa bile, "eslint": "^ 2.13.1" ifadesini alır. –

cevap

8

Yani, aynı sorunu vardı, ama şimdiki paketlerinin sonuncusu sürümünü kullanarak bu hatayı düzeltildi:

"eslint": "3.2.2", 
"eslint-config-airbnb": "10.0.0", 
"eslint-loader": "1.5.0", 
"eslint-plugin-import": "1.12.0", 
"eslint-plugin-jsx-a11y": "2.0.1", 
"eslint-plugin-mocha": "2.2.0", 
"eslint-plugin-react": "6.0.0", 

Ve bu öğretici yapın: React Code Style with ESLint + Babel + Webpack

module: { 
    preLoaders: [ 
     { 
     test: /\.jsx?$/, 
     loaders: ['eslint-loader'], 
     include: path.join(__dirname, 'src'), 
     exclude: path.join(__dirname, 'src/app/container') 
     } 
    ], 
... 
    eslint: { 
     configFile: './.eslintrc', //your .eslintrc file 
     emitWarning: true 
    } 

dosya .eslintrc
{ 
     "extends": "airbnb" 
    } 
+0

Bu tam olarak ne yapmam gerekti, tüm paketleri kaldırmak zorunda kaldım ve bazı çatlamak çatışmalar olduğu gibi yeniden yüklemek zorunda kaldım! – Ash

+3

Global eslint'i kaldırmayı veya yeniden yüklemeyi bilmiyorum… Bunu yaptım. Bu aslında gitmek için Atom yeniden başlatmayı aldı. – Devin