Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Solução para: TypeError: Cannot read properties of undefined (reading 'indexOf')

Eu tive esse problema no momento da importação das negociações depois de ter rodado o BABEL com o comando:

npm run build

entao desconfiei do fetch pois era o arquivo que continha o indexOf.

então encontrei 2 soluções:

1- A primeira solução foi que tirei do index os arquivos do polyfill:

<script src="js/app/polyfill/fetch.js"></script>
<script src="js/app/polyfill/es6.js"></script>

Então as negociações foram importadas corretamente.

2- a segunda solução foi: Acomapanhando o forum, eu vi alguem que tinha copiado o fetch.js da pasta app-es6 para a pasta app (no lugar do arquivo fetch.js compilado) Então funcionou corretamente, mesmo com os arquivos chamados no index:

            <script src="js/app/polyfill/fetch.js"></script>
            <script src="js/app/polyfill/es6.js"></script>

Agora faltou entender pq o fetch compilado não está funcionando? faltou alguma configuração

eu tive problemas de instalação fazendo o

npm install babel-cli@6.10.1 --save-dev

eu enviei o comando sugerido no momento da instalação

npm audit fix.

mas não corrigiu todos os problemas,

segue minhas configurações:

package.json

{
  "name": "client",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "babel js/app-es6 -d js/app --source-maps"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-es2015": "^6.9.0"
  }
}
1 resposta
solução!

Olá Luiz, tudo bem?

Desculpe a demora em retornar.

O erro "TypeError: Cannot read properties of undefined (reading 'indexOf')" ocorre quando você tenta acessar uma propriedade de um objeto que não foi definido. No seu caso, o erro está ocorrendo no arquivo fetch.js, que é responsável por buscar os dados da API.

As soluções que você encontrou foram muito boas! A primeira solução, que foi remover os arquivos do polyfill do index, é uma alternativa para resolver o problema. A segunda solução, que foi copiar o fetch.js da pasta app-es6 para a pasta app, também é uma boa alternativa.

Quanto à sua pergunta sobre o fetch compilado não estar funcionando, pode ser que tenha faltado alguma configuração na instalação do Babel. Tente reinstalar o Babel e verificar se todas as dependências estão atualizadas.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software