2016-02-19 28 views
32

Error: Missing class properties transformErrore: proprietà classe mancante trasformano

Test.js:

export class Test extends Component { 
    constructor (props) { 
    super(props) 
    } 

    static contextTypes = { 
    router: React.PropTypes.object.isRequired 
    } 

.babelrc:

{ 
    "presets": ["es2015", "react", "stage-0"], 
    "plugins": ["transform-class-properties"] 
} 

package.json:

"babel-core": "^6.5.1", 
"babel-eslint": "^4.1.8", 
"babel-loader": "^6.2.2", 
"babel-plugin-react-transform": "^2.0.0", 
"babel-plugin-transform-class-properties": "^6.5.2", 
"babel-preset-es2015": "^6.5.0", 
"babel-preset-react": "^6.5.0", 
"babel-preset-stage-0": "^6.5.0", 
"babel-register": "^6.5.2", 

Ho perlustrato il web e tutte le correzioni ruotano intorno: Aggiornamento a babel6, cambiando l'ordine di "stage-0" dopo "es2015". Tutto ciò che ho fatto.

risposta

44

OK, finalmente capito questo, nel mio webpack.config.js ho avuto:

module: { 
    loaders: [ 
     { 
     test: /\.js?$/, 
     exclude: /(node_modules|bower_components)/, 
     loaders: [ 
      'react-hot', 
      'babel?presets[]=react,presets[]=es2015,presets[]=stage-0' 
     ] 
     } 
    ] 
    } 

'babel?presets[]=stage-0,presets[]=react,presets[]=es2015'

deve essere trattata allo stesso modo come .babelrc, acceso fase-0 per essere dopo es2015 e compila perfettamente.

+16

Non c'è bisogno di entrambi. Se hai un '.babelrc' puoi buttare tutti i parametri sul tuo loader. – loganfsmyth

+0

Hai semplicemente risolto il problema modificando il tuo webpack.config.js? Sto affrontando lo stesso problema ma sto usando browserify e non riesco a liberarmene. –

+2

sto usando browserify e sto usando questo oder "es2015", "react", "stage-0". Ho messo la configurazione in .babelrc. – lipp

0

@speak è giusto, ma è necessario cambiare l'ordine

loaders: [ 
 
    'react-hot', 
 
    'babel?presets[]=react,presets[]=es2015,presets[]=stage-0' 
 
]

1

ho avuto questo errore perché stavo usando stage-3 invece di stage-0.

0

incontro anche questo errore a causa del usando di preset env: "presets": [ "react", "es2015", "stage-0", ["env", { "modules": false }]], e dopo rimuovo i preset env, funziona bene

0

Ho incontrato lo stesso problema usando koa-react-view. Lasciatevi ispirare da queste risposte e, infine, fissato con il seguente codice nella koa server.js:

const register = require('babel-register'); 
 

 
register({ 
 
    presets: ['es2015', 'react', 'stage-0'], 
 
    extensions: ['.jsx'] 
 
});

Problemi correlati