javascript webpack babeljs ecmascript-next

javascript - Error: Transformación de propiedades de clase faltantes



javascript parent class (9)

Error: Missing class properties transform

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",

He explorado la web y todas las soluciones giran en torno a: Actualizar a babel6, cambiar el orden de "etapa-0" a "es2015". Todo lo que he hecho.


@speak tiene razón, pero debes cambiar el orden

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


Encontré el mismo problema usando koa-react-view . koa server.js con estas respuestas y finalmente koa server.js con el siguiente código en koa server.js :

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


Finalmente descubierto, para eliminar este error en el proyecto Laravel-Mix, agregue el siguiente código en webpack.mix.js

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


La solución en mi caso fue definir el complemento ''transform-class-properties'' en el atributo de opciones de mi webpack.config.js , estoy usando babel V6

rules:[ ....., { test: //.(js|jsx)$/, exclude: /(node_modules|bower_components)/, loader: ''babel-loader'', options: { plugins: [''transform-class-properties'']} } ]


Necesita instalar babel-plugin-transform-class-properties , es decir

npm install babel-plugin-transform-class-properties --save-dev

y agregue lo siguiente a su archivo .babelrc

"plugins": ["transform-class-properties"]


OK, finalmente descubrí esto, en mi webpack.config.js tuve:

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''

Tiene que tratarse de la misma manera que .babelrc , cambió stage-0 para que sea posterior a es2015 y se compila perfectamente.


También encuentro este error debido al uso de presets env: "presets": [ "react", "es2015", "stage-0", ["env", { "modules": false }]], y después de que yo eliminar los presets de env, funciona bien


Tuve el mismo error y pedí mis complementos correctamente en mi .babelrc pero aún persiste. La eliminación de los parámetros preestablecidos que definí en mi cargador de paquetes web lo reparó.

Configuración anterior del paquete web:

module: { rules: [ { test: /.jsx?$/, loader: ''babel-loader'', include: path.join(__dirname, ''src''), exclude: /node_modules/, query: { presets: [''es2015'', ''react''] } } ] }

Webpack config de trabajo:

module: { rules: [ { test: /.jsx?$/, loader: ''babel-loader'', include: path.join(__dirname, ''src''), exclude: /node_modules/ } ] }


Tuve este error porque estaba usando la stage-3 lugar de la stage-0 .