ng-debug-decorator v1.14.0
Angular and Node.js DEBUG Decorator
Introduction
You can apply @Debug() decorator on your Angular and Node.js application methods to mark them to be executed in debug mode only.
For Angular when you build application for production using ng build --prod command, all methods marked with @Debug() decorator will not be exeucted in production mode.
So no more if(environment.production){} code block in your source code.
Angular client usage
- Install ng-debug-decorator npm package by running below command in your Angular application
npm i --save-dev ng-debug-decorator
- Provide environment information to decorator configuration by calling
@SetupEnvironment()function inapp.component.tsngOnInit()function. This has to be done only once.
import { environment } from 'src/environments/environment';
import { SetupEnvironment, Debug } from 'ng-debug-decorator';
@SetupEnvironment(environment)
ngOnInit() {
this.sayHi();
}
@Debug()
sayHi() {
alert('I am debug code');
}Apply
@Debug()decorator on method(s)Build application in development mode by running command
ng build.Navigate to
distfolder and run website using any web server e.g.lite-server.
You should see method being executed with @Debug() decorator
Now, build applicatiojs using
ng build --prodcommandNavigate to
distfolder and run website using any web server e.g.lite-server.
Now you should NOT see output of method(s) on which @Debug() decorator is applied.
Here is the Angular client example repository.
Node.js client usage
- Install
ng-debug-decoratornpm package by running below command in your Nod.ejs application
npm i --save-dev ng-debug-decorator
- Import
Debugfunction fromng-debug-decoratorpackage
import { Debug } from "ng-debug-decorator";
- Apply
@Debug()decorator on class method's
- Update
package.jsonfor specifying environment settings
"scripts": {
"start": "NODE_ENV=development node ."
}- Run application by executing command
npm run start.
If you are in production environment then all methods with @Debug() method won't get executed at runtime.