What is difference between ng build and ng serve?
What is the difference between ng build and ng serve? What exactly done or changes happen after ng build and ng serve?
Solution 1:
The ng build
command is intentionally for building the apps and deploying the build artifacts.
The ng serve
command is intentionally for fast, local and iterative developments and also for builds, watches and serves the application from a local CLI development server.
Also, if you running the angular app using ng serve
and if you make any changes to your app, the changes are captured and reflected instantaneously on the UI. This avoids starting and stopping the server again and again.
Both commands ng build
and ng serve
will clear the output folder before they build the project.
The main difference is – The ng build
command writes generated build artifacts to the output folder and the ng serve
command does not. By default, the output folder is - dist/
.
Also the ng serve
builds artifacts from memory instead for a faster development experience.
The ng build
command generates output files just once and does not serve them.
The ng build --watch
command will regenerate output files when source files change. This --watch
flag is useful if you're building during development and are automatically re-deploying changes to another server.
Refer this link for more information on Angular apps deployment.
Solution 2:
The ng build command writes generated build artifacts to the output folder (by default is -dist/). The ng serve command does not write build and it builds artifacts from memory instead for a faster development experience.
Solution 3:
Simply
`ng build`
This command builds your app and deploys it.
`ng serve`
This command build, deploy, serves and every time watches your code changes. if find any change in code it builds and serves that code automatically.
Solution 4:
1. ng serve - it helps angular code to serve automatically & provide hard reload mechanism
2. ng build - the angular compiler will convert into JavaScript executable code for deployment in the dist folder.