Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

problemas ao instalar e usar o jquery

Boa noite, estou tendo os seguintes problemas após a instalação do jquery:

GET http://127.0.0.1:5500/app/js/views/MensagemView.js net::ERR_ABORTED 404 (Not Found)
NegociacoesView.js:1 Uncaught ReferenceError: View is not defined
    at NegociacoesView.js:1

GET http://127.0.0.1:5500/app/js/views/MensagemView.js net::ERR_ABORTED 404 (Not Found)
NegociacaoController.js:4 Uncaught ReferenceError: NegociacoesView is not defined
    at new NegociacaoControler (NegociacaoController.js:4)
    at app.js:1

não sei o que eu fiz de errado, segue meu controller(NegociaçãoController):

class NegociacaoControler{

    private _inputData :JQuery;
    private _inputValor :JQuery;
    private _inputQuantidade :JQuery;
    private _negociacoes = new Negociacoes();

    private _negociacoesView = new NegociacoesView('#negociacoesView');
    private _mensagemView = new MensagemView('#mensagemView');

    constructor(){
        this._inputData = $("#data");
        this._inputQuantidade = $("#quantidade");
        this._inputValor = $("#valor");

        this._negociacoesView.update(this._negociacoes);
    }

    adiciona(event :Event){
        event.preventDefault();

        const negociacao = new Negociacao( 
                                                new Date(this._inputData.value.replace(/-/g, ',')), 
                                                parseInt(this._inputQuantidade.value), 
                                                parseFloat(this._inputValor.value) 
                                            );

        this._negociacoes.adiciona(negociacao);

        this._negociacoesView.update(this._negociacoes);
        this._mensagemView.update('Negociação adicionada com sucesso');
    }

}

view(View.ts):

abstract class View<T>{
    private _elemento : JQuery;

    constructor(seletor :string){
        this._elemento = $(seletor);
    }

    update(model: T) {
        this._elemento.html( this.template(model) );
    }

    abstract template(model: T): string;
}

negociaçãoView:

class NegociacoesView  extends View<Negociacoes>{

    template(model: Negociacoes): string {

        return `
        <table class="table table-hover table-bordered">
            <thead>
                <tr>
                    <th>DATA</th>
                    <th>QUANTIDADE</th>
                    <th>VALOR</th>
                    <th>VOLUME</th>
                </tr>
            </thead>

            <tbody>

            ${model.paraArray().map(negociacao => 
                `
                    <tr>
                        <td>${negociacao.data.getDate()}/${negociacao.data.getMonth()+1}/${negociacao.data.getFullYear()}</td>
                        <td>${negociacao.quantidade}</td>
                        <td>${negociacao.valor}</td>
                        <td>${negociacao.volume}</td>
                    </tr>                        
                `).join('')}            
            </tbody>

            <tfoot>
            </tfoot>
        </table>               
        `
    }
}

segue meu package.json:

{
  "name": "alurabank",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "compile": "tsc",
    "start": "tsc -w"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "@types/jquery": "^2.0.42",
    "typescript": "^2.3.2"
  }
}
3 respostas

Boa noite, Allan! Como vai?

O erro que está dando é um 404, sendo assim, como o próprio log de erro diz, o navegador não está encontrando o arquivo app/js/views/MensagemView.js! Verifique se o caminho para esse arquivo está correto! Caso não esteja basta indicar o caminho correto ao navegador!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

sim, cheguei a olhar o caminho, mas esta correto, inclusive quando eu mando abrir o arquivo em outra aba pelo chrome o arquivo abre normalmente.

infelizmente não é possível postar imagens aqui, se fosse poderia mostrar o arquivo aberto.

solução!

olhei e o problema foi o view.js q estava a abaixo dos outros views