Mientras configuraba React dentro del proyecto Django, encontré este error
ModuleBuildError en la compilación del módulo falló (de ./node_modules/babel-loader/lib/index.js): SyntaxError: C: \ Users \ 1Sun \ Cebula3 \ cebula_react \ assets \ js \ index.js: Soporte para la sintaxis experimental 'classProperties 'no está habilitado actualmente (17: 9):
15 |
16 | class BodyPartWrapper extends Component {
> 17 | state = {
| ^
18 |
19 | }
20 |
Add @babel/plugin-proposal-class-properties (https://git.io/vb4SL) to the
'plugins' section of your Babel config to enable transformation.
Entonces, instalé @ babel / plugin-proposition-class-properties y puse esto en babelrc
package.json
{
"name": "cebula_react",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "webpack-dev-server --config ./webpack.config.js --mode development",
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack --config prod.config.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"babel": {
"presets": [
"@babel/preset-env",
"@babel/preset-react"
]
},
"devDependencies": {
"@babel/cli": "^7.0.0",
"@babel/core": "^7.0.0",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/preset-env": "^7.0.0",
"@babel/preset-react": "^7.0.0",
"babel-loader": "^8.0.2",
"babel-plugin-transform-class-properties": "^6.24.1",
"react-hot-loader": "^4.3.6",
"webpack": "^4.17.2",
"webpack-bundle-tracker": "^0.3.0",
"webpack-cli": "^3.1.0",
"webpack-dev-server": "^3.1.8"
},
"dependencies": {
"react": "^16.5.0",
"react-dom": "^16.5.0"
}
}
babelrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-class-properties"
]
}
Sin embargo, el error sigue existiendo, ¿cuál es el problema?

@babel/plugin-proposal-class-propertiesybabel-plugin-transform-class-properties. Está reconstruyendo después de la instalación, ¿no?npx babel-upgrade --write --installRespuestas:
Cambio
A
Esto funcionó para mi
fuente
.babelrcdebabel.config.jsy el usomodule.exportcomo stackoverflow.com/questions/53916434/... como se discutió en github github.com/babel/babel/issues/7879#issuecomment-419732313Test suite failed to run; .loose is not a valid Plugin propertySolución para proyecto webpack
Simplemente
@babel/plugin-proposal-class-propertiesresuelvo este problema agregando el complemento de configuración del paquete web. La sección del módulo de mi sewebpack.config.jsve asífuente
Primero instale: @ babel / plugin-proposition-class-properties como dependencia dev:
Luego edite su .babelrc para que sea exacto así:
Archivo .babelrc ubicado en el directorio raíz, donde está package.json .
Tenga en cuenta que debe reiniciar su servidor de desarrollo webpack para que los cambios surtan efecto.
fuente
reemplace su archivo .babelrc con el código anterior. me solucionó el problema.
fuente
npm install --save-dev @babel/preset-env @babel/preset-react @babel/plugin-proposal-class-properties@babel/plugin-proposal-class-propertiesdependencia.En la raíz de mi entorno de trabajo, el archivo .babelrc no estaba allí. Sin embargo, la siguiente entrada en package.json resolvió el problema.
Nota: No olvide salir de la consola y volver a abrir antes de ejecutar los comandos npm o yarn.
fuente
Después de casi 3 horas de buscar y dedicar tiempo al mismo error, descubrí que estoy usando la importación de nombres para React:
que está totalmente mal. Simplemente cambiándolo a:
todos los errores se han ido. Espero que esto ayude a alguien. Este es mi .babelrc:
el webpack.config.js
el package.json
fuente
Instale las propiedades de clase de propuesta de complemento
npm install @babel/plugin-proposal-class-properties --save-devActualice su webpack.config.js agregando
'plugins': ['@babel/plugin-proposal-class-properties']}]fuente
Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema. - configuration.plugins[1] should be one of these: object { apply, … } | function -> Plugin of type object or instanceof Function Details: * configuration.plugins[1] should be an object. -> Plugin instance * configuration.plugins[1] should be an instance of function -> Function acting as pluginEncuentro el problema que
.babelrcse ignoró, sin embargo, creobabel.config.jsy agrego lo siguiente:Y me funciona en la aplicación React Native, creo que esto también ayudaría a las aplicaciones React.
fuente
module.exports = { "presets": ["module:metro-react-native-babel-preset"], "plugins": ["@babel/plugin-proposal-class-properties"] }fue suficiente para mi. ¿Puede actualizar su respuesta y también debemos entender por qué.babelrcse ignoró?Acabo de probar en Laravel Framework 5.7.19 y los siguientes pasos funcionan:
Asegúrese de que su archivo .babelrc esté en la carpeta raíz de su aplicación y agregue el siguiente código:
Corre
npm install --save-dev @babel/plugin-proposal-class-properties.Corre
npm run watch.fuente
Estoy usando el analizador de babel explícitamente. Ninguna de las soluciones anteriores funcionó para mí. Esto funcionó.
fuente
De acuerdo con este problema de GitHub, si usa create-react-app, debe copiar sus configuraciones
.babelrco y eliminarlas. Debido a estas dos líneas de código, su configuración en babelrc, .. son inútiles. y tu está en tu carpeta, resolví mi problema así:babel.config.jswebpack.config.jsbabelrc: false,configFile: false,webpack.config.js./node_madules/react-scripts/configfuente
Mover el
stateinteriorconstructor functionfuncionó para mí:Buena suerte...
fuente
Estoy usando hilo. Tuve que hacer lo siguiente para superar el error.
fuente
Añadiendo
en
.babelrcobras para mí.fuente
yarn add --dev @babel/plugin-proposal-class-propertieso
npm install @babel/plugin-proposal-class-properties --save-dev.babelrcfuente
Si alguien que trabaja en monorepo sigue a react-native-web-monorepo , entonces necesita
config-overrides.jsarchivarpackages/web. necesitas agregarresolveApp('../../node_modules/react-native-ratings'),ese archivo ...Mi
config-override.jsarchivo completo esfuente
Enfrenté el mismo problema al intentar transpilar algunos jsx con babel. A continuación se muestra la solución que funcionó para mí. Puede agregar el siguiente json a su .babelrc
fuente
Creé un enlace simbólico para src / components -> ../../components que hizo
npm startque se volviera loco y dejara de interpretar src / components / *. Js como jsx, dando así el mismo error. Todas las instrucciones para arreglarlo de babel oficial fueron inútiles. Cuando copié el directorio de componentes, ¡todo volvió a la normalidad!fuente