How to Change Angular CLI ng serve Default Host and Port

Do you want to set custom host and port to override ng serve default configurations? Let’s do it!

Hicaro Adriano
2 min readFeb 13, 2020
Photo by Blake Connally on Unsplash

ng serve is quite a powerful and handy tool to use when working with Angular 2+. It will build and serve your Angular project via a development server, rebuilding on file changes, and reloading the connected pages.

Angular CLI will auto-generate all the necessary configuration to build and run your project when it is created. Working with the out-of-the-box configuration is just fine in many cases. In some other situations, such as developing and running multiple concurrent Angular projects on the same machine can become a bit of a hassle.

One might say:

Just stop one application and start the other!

Yes. That certainly works. But, what if you like or need them all running at the same time?

Gif by GIPHY

Only one application can maintain a given port open at a time. Therefore, our good ol’ localhost:4200 needs to be changed if you desire to run them all simultaneously.

Not a problem! Angular CLI got your back. ng serve provides us with a long list of options to override its default configuration. To learn more about these options, check out ng serve’s documentation page.

Command-Line Options

ng serve has built-in option flags to update host and port:

  • --port: port to listen on; defaults to4200
  • --host: host to listen on; defaults tolocalhost

Just like that, our application is served on example.com:5003. The command above is flexible and easy enough to be added to one of your scripts.

Angular CLI Config File Defaults

Do you want to go one step further? We may set these custom preferences straight into our Angular CLI config file and then simply run ng serve.

Angular CLI 6+

On Angular version 6, the Angular CLI file changed and so did how to set up the defaults for ng serve. Below is a sample of theangular.json file and where the host and port should be updated.

Angular CLI <6

Granted that not everybody is running Angular 6 and up, this is how the host and port are set in the angular-cli.json file.

Summary

Theng serve development server and its live-reload function make it easy for you to see changes in your web app as you make them. All it takes to run multiple projects simultaneously is some tweak in the configuration. The configuration can be easily changed by either the command-line options or by updating the Angular config file.

I hope this article was helpful to you.

--

--

Hicaro Adriano

Software Developer. Angular, NodeJS and Golang enthusiast. Passionate for learning new things.