savez-vous comment démarrer NG Live Development Serverpuis lancer Chromeen un seul F5clic?
Merdan Gochmuradov
2
désolé ce n'est pas possible car la tâche "ng serve" devrait être démarrée dans la preLaunchTask. "ng serve" doit être exécuté en permanence et donc la "preLaunchTask" n'est pas terminée, ce qui signifie que le code vs ne démarre pas le processus de débogage. mais j'ai ajouté une nouvelle configuration qui devrait rendre le travail un peu plus rapide ;-)
Asesjix
1
Réponse claire et courte. Ce serait bien si vous pouviez expliquer en bref sur launch.jsonet tasks.jsonfait ici. Comme je l'ai compris, il launch.jsonfaut lancer le serveur de nœud et écouter le port 8080, et tasks.jsondemander à utiliser npmet à exécuter la commande ng servepour exécuter l'application.
shaijut
@Zachscs quelle version angulaire avez-vous utilisée?
Asesjix
1
J'ai eu le même problème, les points d'arrêt n'étant pas définis, jusqu'à ce que finalement je réalise que ma racine Web était erronée. J'ai eu la valeur par défaut pour webRoot ("webRoot": "$ {workspaceFolder}") au lieu de $ {workspaceFolder} / my-app-folder
Joseph Simpson
48
Il semble que l'équipe VS Code stocke maintenant des recettes de débogage.
Exécutez le serveur de développement Webpack depuis Angular CLI en exécutant npm start
Accédez au débogueur VSCode et exécutez la configuration "Session de débogage angulaire". En conséquence, une nouvelle fenêtre de navigateur avec votre application sera ouverte.
Joindre à un processus existant
Pour cela, vous devez exécuter Chrome en mode débogueur avec le port ouvert (dans mon cas, ce sera le cas 9222):
Merci, chaque fois que je démarre le chrome, je dois exécuter cette commande. chrome.exe --remote-debugging-port=9222Y a-t-il une alternative pour la configuration
ponctuelle
En fonction de vos informations d'identification, vous pourrez peut-être faire un clic droit sur chrome dans le menu Démarrer de Windows, cliquer sur Propriétés et y ajouter le drapeau. Cela ne fonctionne pas pour moi sur mon ordinateur de travail, j'ai donc aliasé la commande dans git bash pour Windows.
vouliez-vous dire code.visualstudio.com/docs/nodejs/... ? le · # _debugging-angular pointe directement sur le point intéressant si vous voulez éditer votre réponse ...
Pipo
@Pipo Non, je ne voulais pas dire nodejs, je n'utilise pas nodejs côté serveur, donc je ne sais pas.
Pouvez-vous déboguer / interrompre votre code côté serveur en même temps que angular avec cette configuration?
Mika571
@ Mika571 non malheureusement ... J'ai essayé ça maintenant. Je voudrais également déboguer le serveur et le client en même temps.
Leniel Maccaferri
1
La réponse @Asesjix est très complète, mais comme certains l'ont souligné, il faut toujours plusieurs interactions pour démarrer ng serve, puis lancer l'application Angular dans Chrome. Je l'ai fait fonctionner en un seul clic en utilisant la configuration suivante. La principale différence avec la réponse de @ Asesjix est que le type de tâche est maintenant shellet que les appels de commande s'ajoutent startavant ng serveafin de ng servepouvoir exister dans son propre processus et ne pas empêcher le débogueur de se lancer:
Dans mon cas, je n'avais pas utilisé l'arborescence de dossiers du projet Angular d'origine et je savais qu'il y avait quelque chose qui n'allait pas avec le webRoot/ {workspaceFolder}bit, mais toutes mes expériences n'ont donné aucun résultat. Vous avez une astuce d'une autre réponse SO que je lierai si je la retrouve.
Ce qui m'a aidé a été de trouver le contenu de la variable {workspaceFolder}au moment de l'exécution, puis de le modifier à l'emplacement de mon dossier "src" sous lequel vous avez "app / *". Pour le trouver, j'ai ajouté un preLaunchTaskà mon fichier launch.json et une tâche pour afficher la valeur de {workspaceFolder}.
launch.json , qui apparaît après l'installation du débogueur Chrome
{
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "launch",
"name": "Launch Chrome against localhost",
"url": "http://localhost:4200",
"webRoot": "${workspaceFolder}/src/newProjectRoot/",
"preLaunchTask": "Echo values" //Just to see what the cryptic vs code variables actually are https://code.visualstudio.com/docs/editor/variables-reference
}
]
}
Tasks.json Non présent par défaut. Appuyez sur Ctrl + Maj + p et je pense que cela s'appelle «créer une tâche pour une autre commande» ou quelque chose de similaire. Impossible de le voir après la création de tasks.json. Vous pouvez également simplement créer le fichier au même emplacement que launch.json
Une fois que j'ai connu la valeur de $ {workspaceFolder}, je l'ai corrigé pour qu'il pointe vers mon dossier src dans ma nouvelle arborescence de projet et tout a fonctionné. Le débogage doit ng serveavoir été exécuté soit en tant que tâche de pré-lancement, soit dans le cadre de la construction (exemples ci-dessus) ou dans une invite de commande.
Voici un lien vers toutes les variables que vous pouvez utiliser:
Réponses:
Testé avec Angular 5 / CLI 1.5.5
launch.json
(dans le dossier .vscode)launch.json
(voir ci-dessous)tasks.json
(dans le dossier .vscode)tasks.json
(voir ci-dessous)launch.json for angular/cli >= 1.3
tasks.json for angular/cli >= 1.3
Testé avec Angular 2.4.8
launch.json
launch.json
(voir ci-dessous)ng serve
)launch.json for angular/cli >= 1.0.0-beta.32
launch.json for angular/cli < 1.0.0-beta.32
la source
NG Live Development Server
puis lancerChrome
en un seulF5
clic?launch.json
ettasks.json
fait ici. Comme je l'ai compris, illaunch.json
faut lancer le serveur de nœud et écouter le port 8080, ettasks.json
demander à utilisernpm
et à exécuter la commandeng serve
pour exécuter l'application.Il semble que l'équipe VS Code stocke maintenant des recettes de débogage.
https://github.com/Microsoft/vscode-recipes/tree/master/Angular-CLI
la source
Il y a deux façons différentes de faire cela. Vous pouvez lancer un nouveau processus ou vous attacher à un processus existant.
Le point clé dans les deux processus est d'avoir le serveur de développement webpack et le débogueur VSCode en même temps .
Lancer un processus
Dans votre
launch.json
fichier, ajoutez la configuration suivante:Exécutez le serveur de développement Webpack depuis Angular CLI en exécutant
npm start
Joindre à un processus existant
Pour cela, vous devez exécuter Chrome en mode débogueur avec le port ouvert (dans mon cas, ce sera le cas
9222
):Mac:
Les fenêtres:
launch.json
Le fichier ressemblera à ceci:npm start
Dans ce cas, le débogueur est associé au processus Chrome existant au lieu de lancer une nouvelle fenêtre.
J'ai écrit mon propre article, où j'ai décrit cette approche avec des illustrations.
Instruction simple comment configurer le débogueur pour Angular dans VSCode
la source
chrome.exe --remote-debugging-port=9222
Y a-t-il une alternative pour la configurationCeci est expliqué en détail sur le site Visual Studio Code: https://code.visualstudio.com/docs/nodejs/angular-tutorial
la source
Peut utiliser cette configuration:
la source
Voici une solution un peu plus légère, fonctionne avec Angular 2+ (j'utilise Angular 4)
Ajout des paramètres d'Express Server si vous exécutez la pile MEAN.
la source
La réponse @Asesjix est très complète, mais comme certains l'ont souligné, il faut toujours plusieurs interactions pour démarrer
ng serve
, puis lancer l'application Angular dans Chrome. Je l'ai fait fonctionner en un seul clic en utilisant la configuration suivante. La principale différence avec la réponse de @ Asesjix est que le type de tâche est maintenantshell
et que les appels de commande s'ajoutentstart
avantng serve
afin deng serve
pouvoir exister dans son propre processus et ne pas empêcher le débogueur de se lancer:tâches.json:
launch.json:
la source
Dans mon cas, je n'avais pas utilisé l'arborescence de dossiers du projet Angular d'origine et je savais qu'il y avait quelque chose qui n'allait pas avec le
webRoot
/{workspaceFolder}
bit, mais toutes mes expériences n'ont donné aucun résultat. Vous avez une astuce d'une autre réponse SO que je lierai si je la retrouve.Ce qui m'a aidé a été de trouver le contenu de la variable
{workspaceFolder}
au moment de l'exécution, puis de le modifier à l'emplacement de mon dossier "src" sous lequel vous avez "app / *". Pour le trouver, j'ai ajouté unpreLaunchTask
à mon fichier launch.json et une tâche pour afficher la valeur de{workspaceFolder}
.launch.json , qui apparaît après l'installation du débogueur Chrome
Tasks.json Non présent par défaut. Appuyez sur Ctrl + Maj + p et je pense que cela s'appelle «créer une tâche pour une autre commande» ou quelque chose de similaire. Impossible de le voir après la création de tasks.json. Vous pouvez également simplement créer le fichier au même emplacement que launch.json
Une fois que j'ai connu la valeur de $ {workspaceFolder}, je l'ai corrigé pour qu'il pointe vers mon dossier src dans ma nouvelle arborescence de projet et tout a fonctionné. Le débogage doit
ng serve
avoir été exécuté soit en tant que tâche de pré-lancement, soit dans le cadre de la construction (exemples ci-dessus) ou dans une invite de commande.Voici un lien vers toutes les variables que vous pouvez utiliser:
la source