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

Cannot find name 'Negociacao'

app/ts/app.ts(1,24): error TS2304: Cannot find name 'Negociacao'. npm ERR! code ELIFECYCLE npm ERR! errno 2 npm ERR! alurabank@1.0.0 compile: tsc npm ERR! Exit status 2 npm ERR! npm ERR! Failed at the alurabank@1.0.0 compile script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /Users/brunonunes/.npm/_logs/2020-02-14T01_47_40_557Z-debug.log

Após renomear meus arquivos para .ts, o compilador parou de reconhecer minha classe da Model

5 respostas
Meu app.ts

const negociacao = new Negociacao(new Date(), 1,100);
console.log(negociacao);    

Negociacao.ts
class Negociacao{
        _data;
        _quantidade;
        _valor;
        constructor(data, quantidade, valor){
            this._data = data;
            this._quantidade = quantidade;
            this._valor = valor;
        }

        get data (){
            return this._data;
        }

        get quantidade (){
            return this._quantidade;
        }

        get valor(){
            return this._valor;
        }

        get volume(){
            return this._quantidade * this._valor;
        }
}

Olá Bruno, tudo bem com você?

Você já tentou executar o compilador sem utilizar o modo watch? Deletando os arquivos da pasta js e dando o npm run compile, caso não funcione pode verificar como esta o seu arquivo tsconfig.json?

Abraços e Bons Estudos!

Geovani o que eu fiz e resolveu, foi usar o import dentro do app.ts , mas achei estranho que no curso nao foi utilizado import no curso, entao fiquei sem entender se estou com algum problema de acesso as minhas classes.

segue meu tsconfig.json

{
    "compilerOptions": {
        "target": "es6",
        "outDir": "app/js",
        "noEmitOnError": true
    },
    "include": [
        "app/ts/*/", "app/ts/models/Negociacao.ts"
    ]
}
solução!

Olá Bruno, tudo bem com você ?

Você errou na hora de configurar o seu tsconfig.json na hora de incluir você digitou errado, o correto é:

"include": [
    "app/ts/**/*"
]

Dessa forma o compilador irá em todas pastas recursivamente e compilar normalmente, e não será necessário importar o arquivo :)

Abraços 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