Reputation: 11019
I have an Angular application (Angular 2) that I can launch without issue from WebStorm, however when I try and set breakpoints none of them are ever hit. WebStorm reports that the debugger is attached and that webpack has compiled successfully. I open my browser to localhost:4200 and my app loads fine, it's just that none of my breakpoints are hit. I also have the JetBrains IDE extension installed but my understanding was that it wasn't necessary anymore.
Upvotes: 15
Views: 16990
Reputation: 141
I'm using Angular 14 and for another project I was using Node 20.
I had to select Node 16 as interpreter to activate breakpoints. With Node 20, I only had access to the console logs.
Upvotes: 0
Reputation: 1
Just stumbled upon this question while researching, I had the exact same problem in WebStorm 2024.1.
Tried every answer here and none worked, my debug session opened my browser through ctrl+shift+click correctly and it didn't work. I tried creating the Javascript Debug configuration, made sure to run it after starting the app with the Debug button and it didn't work. Found a Medium post telling to add --remote-allow-origins=*
in browser configuration and it didn't work.
The only thing that worked for me is the workaround I've found in JetBrains support to put --host=127.0.0.1
in the npm script that runs my app (link here). If you don't want to or cannot change the npm scripts in your package.json you can add it in the Run Configuration Arguments field but you have to add a --
before otherwise it won't work.
My script with the workaround:
scripts: {
"dev": "ng serve --configuration=dev --host=127.0.0.1"
}
Or, using the Configuration Editor (can't embed images yet, not enough reputation):
Configuration Editor Arguments
Then you can either Ctrl+Shift+click the URL in the console (will be http://127.0.0.1:4200
) or execute with Debug button a separate Javascript Debug config (don't forget to change the URL to http://127.0.0.1:4200
). Both worked for me.
Upvotes: 0
Reputation: 698
The other answers help, but the key for me was having the right default browser (I use Firefox by default, which is not supported, so CTRL+SHIFT was not launching a new Chrome instance).
To start an Angular debugging session:
ng serve
configUpvotes: 1
Reputation: 1151
I know that the answer is already here but may be someone may find it helpful
Acording to the documentation
Debugging of Angular applications is only supported with Node.js version 16 and earlier.
So check the Node version, if it is higher, the debugger won't stop at the breakpoint https://www.jetbrains.com/help/webstorm/angular.html
Upvotes: 5
Reputation: 409
Worked for me I hope it will help:
1.run with debug mode
2.Hold Ctrl+Shift and click this URL ex.(http://localhost:4200)
WebStorm starts a debugging session with an automatically generated Angular Application configuration of the type JavaScript Debug as written in official documentation https://www.jetbrains.com/help/webstorm/angular.html#angular_running_and_debugging_debug
Upvotes: 5
Reputation: 11019
I finally got it to work after much trial and error.
package.json
) pointing to a JSON file that contains proxies for external API endpoints (DEV, Production, Stage, etc)So they key was the JetBrains IDE support Chrome Extension. It was my understanding that this was no longer needed in the newer versions of WebStorm but it appears that to debug my Angular application it is still required. It can be downloaded from the Chrome Extension store here.
I hope this helps someone else out because it drove me nuts for the longest time.
Debug window at http://localhost:4200
Upvotes: 0
Reputation: 4397
Step 1 : Click on the top right corner drop down > edit configuration
Step 2: Under the run debug configurations> hit the +
symbol and select Javascript Debug
Step 3: Make sure you have created new profile under Javascript debug (In my case profile name is Angular Applicaiton > URL: http://localhost:4200
Step 4: Once everything is set properly. Make sure you select the proper profile from the dropdown like below
Step 5: Make sure you are serving your application via ng s in terminal then click on the Debug button (Remember do not hit the play green button). Press the Red bug button as per above screenshot..
It should now open the localhost:4200 in new window
Note: Make sure you added enough breakpoints in your ts file to debug it
Now your breakpoints will definitely work.
Upvotes: 22