anchor.diff:  .l-main-section
   :marked
     ## Serve the app
  +  
  +  ## 启动应用服务器
   
     You'll need a web server to host the application.
     Use the same _Lite Server_ employed elsewhere in the documentation:
  +  
  +  你需要一个Web服务器来作为应用的宿主。
  +  像与文档中其它部分一样，用*Lite Server*吧：
  +  
   code-example(format='.').
     npm run lite
   :marked
     The server starts, launches a browser, and the app should appear.
   
  +  启动了服务器、打开浏览器，应用就出现了。
  +  
   a#source-code
   .l-main-section
   :marked
     ## Source Code
  +  
  +  ## 源代码
   
     Here is the pertinent AoT source code for this cookbook:
  +  
  +  下面是与本烹饪宝典有关的AoT源码：
  +  
   +makeTabs(
     `cb-aot-compiler/ts/app/app.component.html,
      cb-aot-compiler/ts/app/app.component.ts,
  
positive.code: 
  :marked
    Install a few new npm dependencies with the following command: 
  code-example(format='.').
    npm install @angular/compiler-cli @angular/platform-server --save
  :marked
    You will run the `ngc` compiler provided in the `@angular/compiler-cli` npm package
    instead of the TypeScript compiler (`tsc`). 
  
    `ngc` is a drop-in replacement for `tsc` and is configured much the same way.  
  
    `ngc` requires its own `tsconfig.json` with AoT-oriented settings.
    Copy the original `tsconfig.json` to a file called `tsconfig-aot.json`, then modify it to look as follows.
  
  +makeExample('cb-aot-compiler/ts/tsconfig-aot.json', null, 'tsconfig-aot.json')(format='.')
  
  
negative.code: :marked
    This cookbook describes how to radically improve performance by compiling _Ahead of Time_ (AoT) 
    during a build process.
    
    这个烹饪指南描述如何通过在构建过程中进行预编译（Ahead of Time - AoT）来从根本上提升性能。
  
  a#toc
  :marked
    ## Table of Contents
    ## 目录
    * [Overview](#overview)
    * [概览](#overview)
    * [_Ahead-of-Time_ vs _Just-in-Time_](#aot-jit)
    * [_预编译_ vs _即时编译_](#aot-jit)
    * [Compile with AoT](#compile)
    * [用AoT进行编译](#compile)
    * [Bootstrap](#bootstrap)
    * [引导](#bootstrap)
    * [Tree Shaking](#tree-shaking)
    * [摇树优化（Tree Shaking）](#tree-shaking)
    * [Load the bundle](#load)
    * [加载捆文件](#load)
    * [Serve the app](#serve)
    * [启动应用服务器](#serve)
    * [Source Code](#source-code)
    * [源码](#source-code)
  
  a#overview
  .l-main-section
  :marked
    ## Overview
    ## 概览
    Angular component templates consist of a mix of standard html and Angular syntax (e.g. `ngIf`, `ngFor`). 
    
    Angular组件的模板由标准HTML和Angular特有的语法（比如`ngIf`、`ngFor`）组成。
    
    Expressions like `ngIf` and `ngFor` are specific to Angular. The browser cannot execute them directly.
    
    像`ngIf`和`ngFor`这样的表达式是专属于Angular的，浏览器无法直接执行它们。
    
    Before the browser can render the application, Angular components and their templates must be converted to executable JavaScript. 
    We refer to this step as _Angular compilation_ or just plain _compilation_.
    
    在浏览器渲染该应用之前，Angular组件及其模板必须被转换成可执行的JavaScript。
    我们把这一步叫做*Angular编译*或就叫普通的*编译*。
  
    You can compile the app in the browser, at runtime, as the application loads, using the _Just-in-Time_ (JiT) compiler. 
    This is the standard development approach shown throughout the documentation.
    
    你可以在浏览器中使用*即时编译器*（Just-in-Time - JiT）在运行期间编译该应用，也就是在应用加载时。
    这是本文档中展示过的标准开发方式。
  
    JiT compilation incurs a runtime performance penalty. 
    Views take longer to render because of the in-browser compilation step. 
  