Search code examples
angulartypescriptcompilationtsc

Angular: ngc or tsc?


I have been using tsc, but see that angular.io emphasizes ngc. I am wondering if there are advantages to either or if I should choose one over the other. Thanks in advance.


Solution

  • tsc and ngc have different purposes and it's not about selecting one over the other.

    tsc is a TypeScript compiler, and you need it to generate JavaScript if your app is written in TypeScript.

    ngc is an Angular-specific compiler. It doesn't turn the TypeScript code into JavaScript. It does a "finishing touch" to make your app bundles ready for rendering by the browser. In particular, it turns your components templates into inline JavaScript. If you do a prod build with Ahead of Time (AoT) compilation, the ngc does its part before the bundles are built. In dev mode we use Just-in-Time compilation: the templates are not precompiled, the ngc compiler is included into the bundles, and it compiles the templates after the browser loaded your bundles.