3
respostas

Erro importando js/app/boot

Desenvolvi durante o curso tudo conforme a aula, exceto na parte do transpiler e Babel, porque esse curso é de 2017, se não me engano, e seguindo o passo a passo das referências, dá erro. Então segui sem instalar o Babel.

Agora, está dando um erro no import do boot no index.html:

Error: Unable to resolve specifier 'js/app/boot' from http://localhost:3000/
    at throwUnresolved (system.js:529)
    at SystemJS.systemJSPrototype.resolve (system.js:525)
    at system.js:226

Esse é meu arquivo boot.js:

import { NegociacaoController } from './controllers/NegociacaoController';

let negociacaoController = new NegociacaoController();

document.querySelector('.form').onsubmit = negociacaoController.incluir.bind(negociacaoController);
document.querySelector('[type-button]').onclick = negociacaoController.apagar.bind(negociacaoController);

E essa é a configuração no index.html:

<script src="node_modules/systemjs/dist/system.js"></script>
<script>
   System.defaultJSExtensions = true;
   System.import('js/app/boot').catch(error => console.log(error));
</script>

Detalhe: a sintaxe para baixar no npm as coisas é diferente atualmente, então algumas coisas não funcionam exatamente igual ao curso. O Node que estou usando é 12 (acho que no curso é 4) e a versão do systemjs é a 6 (no curso é 0.19).

3 respostas

Fala ai Reinaldo, tudo bem? Consegue compartilhar o projeto? Assim fica mais simular o problema e analisá-lo com mais calma por aqui.

Pode compartilhar através do Github ou Google Drive (zipado).

Fico no aguardo.

Segue código fonte: https://1drv.ms/u/s!Aql0Sg5dfanRhRM27MA7VjgoWQwR?e=nuHSaJ

Fala ai Reinaldo, tudo bem? Vamos aos problemas:

O projeto client está faltando os arquivos .babelrc e package.json:

// .babelrc
{
    "presets" : ["es2015"],
    "plugins" : ["transform-es2015-modules-systemjs"]
}
// package.json
{
  "name": "app",
  "version": "1.0.0",
  "description": "",
  "main": "server.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node server.js"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.15.1",
    "express": "^4.12.3"
  }
}

Ambos devem ser criados na raiz do seu projeto.

Agora vai na pasta do client e faz a instalação das dependencias:

npm i

Obs: Caso existe o pasta node_modules e o arquivo package-lock.json, por favor remova eles antes da instalação.

Depois, a sua pasta app precisa ser renomeada para app-es6.

Agora precisa gerar os arquivos para um versão que o navegador entende, isso é feito com o Babel, rode o comando:

npm run build

Na raiz da pasta client.

Isso deve gerar a pasta app.

Agora pode subir o servidor e testar o projeto.

Desculpa a demora, estava uma correria por aqui.

Espero ter ajudado.