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-properties
ybabel-plugin-transform-class-properties
. Está reconstruyendo después de la instalación, ¿no?npx babel-upgrade --write --install
Respuestas:
Cambio
A
Esto funcionó para mi
fuente
.babelrc
debabel.config.js
y el usomodule.export
como 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 property
Solución para proyecto webpack
Simplemente
@babel/plugin-proposal-class-properties
resuelvo este problema agregando el complemento de configuración del paquete web. La sección del módulo de mi sewebpack.config.js
ve 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-properties
dependencia.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-dev
Actualice 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 plugin
Encuentro el problema que
.babelrc
se ignoró, sin embargo, creobabel.config.js
y 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é.babelrc
se 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
.babelrc
o 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.js
webpack.config.js
babelrc: false,configFile: false,
webpack.config.js
./node_madules/react-scripts/config
fuente
Mover el
state
interiorconstructor function
funcionó para mí:Buena suerte...
fuente
Estoy usando hilo. Tuve que hacer lo siguiente para superar el error.
fuente
Añadiendo
en
.babelrc
obras para mí.fuente
yarn add --dev @babel/plugin-proposal-class-properties
o
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.js
archivarpackages/web
. necesitas agregarresolveApp('../../node_modules/react-native-ratings'),
ese archivo ...Mi
config-override.js
archivo 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 start
que 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