I know that "ahead of time compilation
" provides compilation at the build time. There are also bunch of other advantages of --aot
such as
the application is pre-compiled so there is no such a wait template
binding errors will be known at build time etc..
However, there is also an option to set --aot
to false (for the prod build as well). Why do we ever need to set --aot
to false
? In other word, what kind of advantage does --jit
provides? I just want to understand if there is any disadvantage of using --aot
over --jit
because otherwise, it sounds like I should always use --aot
even in dev build. And if there is no trade-off by using --aot
, then why it is not set as default for the ng build
and ng serve
?
As @Ingo Burk mentioned in the comment, I end up with same findings so I wanted to post it as an answer.
Also other interesting thing I found out was,
However In version 5 and later, the compiler automatically performs this rewriting while emitting the .js file