Bagaimana cara saya mengkonfigurasi Angular dan VSCode agar breakpoint saya berfungsi?
angular
debugging
webpack
visual-studio-code
Asesjix
sumber
sumber
Jawaban:
Diuji dengan Angular 5 / CLI 1.5.5
launch.json
(di dalam folder .vscode)launch.json
(lihat di bawah)tasks.json
(di dalam folder .vscode)tasks.json
(lihat di bawah)launch.json for angular/cli >= 1.3
tasks.json for angular/cli >= 1.3
Diuji dengan Angular 2.4.8
launch.json
launch.json
(lihat di bawah)ng serve
)launch.json for angular/cli >= 1.0.0-beta.32
launch.json for angular/cli < 1.0.0-beta.32
sumber
NG Live Development Server
dan meluncurkanChrome
hanya dengan satuF5
klik?launch.json
dantasks.json
melakukannya di sini. Seperti yang saya pahamilaunch.json
adalah meluncurkan server node dan mendengarkan port 8080, dantasks.json
menginstruksikan untuk menggunakannpm
dan menjalankan perintahng serve
untuk menjalankan aplikasi.Sepertinya tim VS Code sekarang menyimpan resep debugging.
https://github.com/Microsoft/vscode-recipes/tree/master/Angular-CLI
sumber
Ada dua cara berbeda untuk melakukan itu. Anda dapat meluncurkan proses baru atau melampirkan ke yang sudah ada.
Poin utama dalam kedua proses ini adalah menjalankan server dev webpack dan debugger VSCode secara bersamaan .
Luncurkan sebuah proses
Di
launch.json
file Anda, tambahkan konfigurasi berikut:Jalankan server pengembang Webpack dari CLI Angular dengan menjalankan
npm start
Lampirkan ke proses yang ada
Untuk itu Anda perlu menjalankan Chrome dalam mode debugger dengan port terbuka (dalam kasus saya itu akan
9222
):Mac:
Windows:
launch.json
file akan terlihat seperti berikut:npm start
Dalam kasus ini, debugger dilampirkan ke proses Chrome yang ada alih-alih meluncurkan jendela baru.
Saya menulis artikel saya sendiri, di mana saya menjelaskan pendekatan ini dengan ilustrasi.
Instruksi sederhana bagaimana mengkonfigurasi debugger untuk Angular di VSCode
sumber
chrome.exe --remote-debugging-port=9222
Apakah ada alternatif untuk konfigurasi sekali pakaiIni dijelaskan secara rinci di situs Visual Studio Code: https://code.visualstudio.com/docs/nodejs/angular-tutorial
sumber
Dapat menggunakan konfigurasi ini:
sumber
Ini solusi yang sedikit lebih ringan, bekerja dengan Angular 2+ (Saya menggunakan Angular 4)
Juga menambahkan pengaturan untuk Server Ekspres jika Anda menjalankan tumpukan MEAN.
sumber
Jawaban @Asesjix sangat menyeluruh, tetapi seperti yang ditunjukkan beberapa orang, masih membutuhkan banyak interaksi untuk memulai
ng serve
dan kemudian meluncurkan aplikasi Angular di Chrome. Saya mendapatkan ini bekerja dengan satu klik menggunakan konfigurasi berikut. Perbedaan utama dari jawaban @ Asesjix adalah tipe tugasnya sekarangshell
dan panggilan perintah ditambahkanstart
sebelumnyang serve
sehinggang serve
bisa ada dalam prosesnya sendiri dan tidak memblokir debugger dari peluncuran:task.json:
launch.json:
sumber
Dalam kasus saya, saya tidak menggunakan pohon folder proyek Angular asli dan saya tahu ada yang salah dengan
webRoot
/{workspaceFolder}
bit tetapi semua percobaan saya tidak membuahkan hasil. Mendapat tip dari jawaban SO lain yang akan saya tautkan jika saya menemukannya lagi.Apa yang membantu saya adalah menemukan konten variabel
{workspaceFolder}
saat runtime dan kemudian memodifikasinya ke lokasi folder "src" di mana Anda memiliki "app / *". Untuk menemukannya, saya menambahkan apreLaunchTask
ke file launch.json saya dan tugas untuk mengeluarkan nilai{workspaceFolder}
.launch.json , yang muncul setelah menginstal debugger Chrome
Tasks.json Tidak ada secara default. Tekan Ctrl + Shift + p dan saya pikir itu disebut 'buat tugas untuk perintah lain' atau yang serupa. Sepertinya tidak bisa melihatnya setelah task.json dibuat. Anda juga bisa membuat file di lokasi yang sama dengan launch.json
Setelah saya mengetahui nilai $ {workspaceFolder}, saya memperbaikinya agar mengarah ke folder src saya di pohon proyek baru saya dan semuanya berhasil. Debugging
ng serve
harus dijalankan sebagai tugas prapeluncuran atau sebagai bagian dari build (contoh di atas) atau dalam command prompt.Berikut ini tautan ke semua variabel yang dapat Anda gunakan:
sumber