Como faço para configurar Angular e VSCode para que meus pontos de interrupção funcionem?
angular
debugging
webpack
visual-studio-code
Asesjix
fonte
fonte
Respostas:
Testado com Angular 5 / CLI 1.5.5
launch.json
(dentro da pasta .vscode)launch.json
(veja abaixo)tasks.json
(dentro da pasta .vscode)tasks.json
(veja abaixo)launch.json for angular/cli >= 1.3
tasks.json for angular/cli >= 1.3
Testado com Angular 2.4.8
launch.json
launch.json
(veja abaixo)ng serve
)launch.json for angular/cli >= 1.0.0-beta.32
launch.json for angular/cli < 1.0.0-beta.32
fonte
NG Live Development Server
e depois iniciarChrome
com apenas umF5
clique?launch.json
etasks.json
faz aqui. Pelo que entendilaunch.json
é iniciar o servidor do nó e ouvir a porta 8080, etasks.json
instrui a usarnpm
e executar o comandong serve
para executar o aplicativo.Parece que a equipe do VS Code agora está armazenando receitas de depuração.
https://github.com/Microsoft/vscode-recipes/tree/master/Angular-CLI
fonte
Existem duas maneiras diferentes de fazer isso. Você pode iniciar um novo processo ou anexar a um existente.
O ponto principal nos dois processos é ter o servidor de desenvolvimento webpack e o depurador VSCode em execução ao mesmo tempo .
Iniciar um processo
No seu
launch.json
arquivo, adicione a seguinte configuração:Execute o servidor de desenvolvimento Webpack a partir da CLI angular executando
npm start
Anexar a um processo existente
Para isso, você precisa executar o Chrome no modo depurador com porta aberta (no meu caso, será
9222
):Mac:
Janelas:
launch.json
O arquivo terá a seguinte aparência:npm start
Nesse caso, o depurador anexado ao processo existente do Chrome em vez de iniciar uma nova janela.
Escrevi meu próprio artigo, onde descrevi essa abordagem com ilustrações.
Instruções simples sobre como configurar o depurador para Angular no VSCode
fonte
chrome.exe --remote-debugging-port=9222
. Existe alguma alternativa para a configuração únicaIsso é explicado em detalhes no site do Visual Studio Code: https://code.visualstudio.com/docs/nodejs/angular-tutorial
fonte
Pode usar esta configuração:
fonte
Aqui está uma solução um pouco mais leve, funciona com Angular 2+ (estou usando Angular 4)
Também foram adicionadas as configurações do Express Server se você executar a pilha MEAN.
fonte
A resposta do @Asesjix é muito completa, mas, como alguns salientaram, ainda requer várias interações para iniciar
ng serve
e iniciar o aplicativo Angular no Chrome. Consegui trabalhar com um único clique usando a seguinte configuração. A principal diferença da resposta do @ Asesjix é o tipo de tarefa agorashell
e as chamadas de comando adicionadasstart
antesng serve
queng serve
possam existir em seu próprio processo e não impedir que o depurador seja iniciado:tasks.json:
launch.json:
fonte
No meu caso, eu não havia usado a árvore de pastas do projeto Angular original e sabia que havia algo errado com o
webRoot
/{workspaceFolder}
bit, mas todas as minhas experiências não produziram resultado. Recebi uma dica de outra resposta SO, que eu ligarei se a encontrar novamente.O que me ajudou foi encontrar o conteúdo da variável
{workspaceFolder}
em tempo de execução e modificá-lo para o local da minha pasta "src" na qual você tem "app / *". Para encontrá-lo, adicionei umpreLaunchTask
ao meu arquivo launch.json e uma tarefa para gerar o valor de{workspaceFolder}
.launch.json , que aparece após a instalação do depurador do Chrome
Tasks.json Não está presente por padrão. Pressione Ctrl + Shift + pe acho que é chamado de 'criar tarefa para outro comando' ou algo semelhante. Não consigo vê-lo depois que o tasks.json é criado. Você também pode criar o arquivo no mesmo local que o launch.json
Depois de conhecer o valor de $ {workspaceFolder}, eu o corrigi para apontar para a minha pasta src na minha nova árvore de projetos e tudo funcionou. A depuração exige
ng serve
que tenha sido executada como tarefa de pré-lançamento ou como parte da compilação (exemplos acima) ou em um prompt de comando.Aqui está um link para todas as variáveis que você pode usar:
fonte