typescript - Declaração de tipo global no vscode para javascript
Eu tenho um /typings/$app.d.ts que se parece com isto.
declare class App {
test: object
}
export const $app: App;
Mas para usar o intellisense, eu tenho que importá-lo automaticamente e ele vai gerar uma linha como esta na primeira linha do meu código JavaScript.
import { $app } from "../../typings/$app";
Ele terá algum erro já que é um arquivo d.ts.
Existe uma maneira de tornar este $app.d.ts global, assim como o window?
Resposta #1
O declare var something no escopo de nível superior de um arquivo .d.ts é a palavra-chave para expor uma variável global. Não faça export se você não quiser exportar nada.
declare class App {
test: object
}
declare var $app: App;
Resposta #2
Eu gostaria de fazer um comentário na resposta de @hackape e também recomendar (se você ainda não fez) adicionar um arquivo tsconfig.json na raiz do seu projeto. Observe que você também pode adicionar tsconfig se não quiser usar nenhum typescript (apenas para intellisense).
Você pode ter um arquivo mínimo assim:
{
"compilerOptions": {
"allowJs": true,
"typeRoots": ["./typings"],
"outFile": "./justANameToMakeTSHappy.js"
}
}
allowJs - para que o vscode saiba usar os tipos também nos arquivos JS. typeRoots - informe ao ts onde estão seus tipos. outFile - para que você não receba o erro 'não é possível sobrescrever o arquivo ****.js'

