Enquanto eu estava configurando o React dentro do projeto Django, encontrei este erro
ModuleBuildError na construção do módulo falhou (de ./node_modules/babel-loader/lib/index.js): SyntaxError: C: \ Users \ 1Sun \ Cebula3 \ cebula_react \ assets \ js \ index.js: Suporte para a sintaxe experimental 'classProperties 'não está ativado no momento (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.
Então, eu instalei @ babel / plugin-proposal-class-properties e coloquei no 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"
]
}
Porém o erro ainda existe, qual é o problema ??
@babel/plugin-proposal-class-properties
ebabel-plugin-transform-class-properties
. Você está reconstruindo após a instalação, certo?npx babel-upgrade --write --install
Respostas:
mudança
Para
Isso funcionou para mim
fonte
.babelrc
parababel.config.js
e usomodule.export
como stackoverflow.com/questions/53916434/... como discutido no github github.com/babel/babel/issues/7879#issuecomment-419732313Test suite failed to run; .loose is not a valid Plugin property
Solução para projeto webpack
Acabei de resolver esse problema adicionando o
@babel/plugin-proposal-class-properties
plugin de configuração do webpack. A seção do módulo do meu sewebpack.config.js
parece com estefonte
Primeiro instale: @ babel / plugin-proposal-class-properties como dev dependencty:
Em seguida, edite seu .babelrc para que fique exatamente assim:
Arquivo .babelrc localizado no diretório raiz, em que package.json está.
Observe que você deve reiniciar seu servidor de desenvolvimento webpack para que as alterações tenham efeito.
fonte
substitua seu arquivo .babelrc pelo código acima. ele corrigiu o problema para mim.
fonte
npm install --save-dev @babel/preset-env @babel/preset-react @babel/plugin-proposal-class-properties
@babel/plugin-proposal-class-properties
dependência.Na raiz do meu ambiente de trabalho, o arquivo .babelrc não estava lá. No entanto, a entrada seguinte em package.json resolveu o problema.
Nota: Não se esqueça de sair do console e reabri-lo antes de executar os comandos npm ou yarn.
fonte
Depois de quase 3 horas pesquisando e gastando tempo no mesmo erro, descobri que estou usando a importação de nomes para o React:
o que está totalmente errado. Simplesmente mudando para:
todos os erros se foram. Espero que isso ajude alguém. Este é o meu .babelrc:
o webpack.config.js
o package.json
fonte
Instale o plugin-proposta-classe-propriedades
npm install @babel/plugin-proposal-class-properties --save-dev
Atualize seu webpack.config.js adicionando
'plugins': ['@babel/plugin-proposal-class-properties']}]
fonte
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
Acho que o problema
.babelrc
foi ignorado, mas criobabel.config.js
e adiciono o seguinte:E funciona para mim no aplicativo React Native, acho que também ajudaria os aplicativos React.
fonte
module.exports = { "presets": ["module:metro-react-native-babel-preset"], "plugins": ["@babel/plugin-proposal-class-properties"] }
foi o suficiente para mim. Você pode atualizar sua resposta e também devemos entender porque.babelrc
foi ignoradoAcabei de testar no Laravel Framework 5.7.19 e as seguintes etapas funcionam:
Certifique-se de que o arquivo .babelrc esteja na pasta raiz do seu aplicativo e adicione o seguinte código:
Corra
npm install --save-dev @babel/plugin-proposal-class-properties
.Corra
npm run watch
.fonte
Estou usando o analisador babel explicitamente. Nenhuma das soluções acima funcionou para mim. Isso funcionou.
fonte
De acordo com este problema do GitHub, se você estiver usando criar-reagir-app, você deve copiar suas configurações
.babelrc
oubabel.config.js
parawebpack.config.js
e excluí-las. Por causa dessas duas linhas de código,babelrc: false,configFile: false,
sua configuração no babelrc ... são inúteis. e vocêwebpack.config.js
está na sua./node_madules/react-scripts/config
pasta eu resolvi meu problema assim:fonte
Mover o
state
interiorconstructor function
funcionou para mim:Boa sorte...
fonte
Estou usando fio. Tive que fazer o seguinte para superar o erro.
fonte
Adicionando
em
.babelrc
obras para mim.fonte
yarn add --dev @babel/plugin-proposal-class-properties
ou
npm install @babel/plugin-proposal-class-properties --save-dev
.babelrcfonte
Se alguém está trabalhando em monorepo seguindo react -native-web-monorepo, então você precisa
config-overrides.js
arquivarpackages/web
. você precisa adicionarresolveApp('../../node_modules/react-native-ratings'),
nesse arquivo ...Meu
config-override.js
arquivo completo éfonte
Eu criei um link simbólico para src / components -> ../../components que fez
npm start
com que enlouquecesse e parasse de interpretar src / components / *. Js como jsx, dando assim o mesmo erro. Todas as instruções do babel oficial para consertá-lo foram inúteis. Quando copiei de volta o diretório de componentes estava tudo DE VOLTA AO NORMAL!fonte
Eu enfrentei o mesmo problema ao tentar transpilar algum jsx com babel. Abaixo está a solução que funcionou para mim. Você pode adicionar o seguinte json ao seu .babelrc
fonte