Angular CLI - how to disable auto-reload when ng serve
angular application is started with ng serve, thus starting the server, ng serve automatically reloads the changes if changes to component/CSS/HTML in the angular application.
The below commands start the server and reload the code changes.
ng serve (or)
ng serve --live-reload (or)
ng serve --live-reload=true
How live-reload options work? whenever you make changes to the typescript component/CSS/images in vscode or IDEs, The angular reload server rebuilds and recompiles, and starts the server automatically.
live-reload
enables reloading changes in the browser live reload
How to disable or prevent auto-reload change in Angular applications?
There are multiple ways we can configure the reload option.
with the command line, you can use --live-reload=false
.
ng serve --live-reload=false (or)
ng serve --live-reload false
It enables the prevention of reloading changes to the development server.
--live-reload=true/false
option enables to reload changes or not
Another option is to disable live reload via scripts package.json
package.json:
{
"name": "angular-disable-chanegs",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve --live-reload=false",
},
}
The below command serves to disable the reload changes in production.
ng serve --source-map=false --prod --live-reload=false
The same thing is added via scripts
{
"name": "angular-disable-chanegs",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve --source-map=false --aot --prod --live-reload=false"
},
}
The second option, use --no-live-reload
with the ng command
ng serve --no-live-reload
if the above options do not work, the Third option
ng serve --watch=true|false
It disables the rebuild on the change option with the serve command.
Prevent reload changes with ng build
the live-reload option does not work with ng build command, and throws `Unknown option:—live-reload’
B:\angular-example>ng build --live-reload=false
Unknown option: '--live-reload'
you can use ng build with —watch true/false option.
ng build --watch=true/false
with scripts in package.json
{
"name": "angular-disable-chanegs",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve --live-reload=false",
"build": "ng build --watch=false"
},
}
How to disable live reload for the assets folder in Angular?
With the --live-reload=false
option, It disables reload changes at the application level.
To exclude the specific directory/folder, You have to add tsconfig.json
for example, to prevent autoload for the assets folder, You can add an exclude
property with a folder path or file path as follows
"exclude": [
"assets"
]
Issues
When you encountered the following issues
- live to reload is not working in Windows
- ng serve not detecting changes automatically in Linux/reload
- ng serve—live to reload not working as expected
For all the above solutions, Fix is common,
Here are the step by steps to solve ng serve
- increase time value on max_user_watches in Linux or Unix-based OS.
sudo echo "fs.inotify.max_user_watches=635199" >> /etc/sysctl.conf
- ng serve uses an OS file system to access the files, Make sure that the command has sufficient permissions to read and write the files.
sudo chmod -R a+rwx /angular-application
- remove the node_modules folder from your application using the below command
rm -rf nodes_modules/
- delete the package-lock.json file
- uninstall @angular/cli using the below command
npm uninstall -g @angular/cli
- verify and cache clean using the below command
npm cache verify (or)
npm cache clean -f
- install @angular/cli
npm install -g @angular/cli
- install all dependencies using the below command
npm install
finally, run the ng serve —live-reload command to make it enable/disable reload changes automatically.