2016-10-26 5 views
0

多くの可動部分を持つseed project for Angular 2の周りを頭で囲んでいますが、私が理解できないことが出てきました... index.html EJS文のように見える何かがあります。私はそれが(設定ファイルで定義されるタイトルを許可する)やっているWHAT理解がプレーンHTMLファイルとタイプスクリプトのEJSステートメント

<!-- src/client/index.html --> 
<title><%= APP_TITLE %></title> 

、私はそれをやっているどのようを理解していません。

// src/client/app/system-config.ts 
System.config(JSON.parse('<%= SYSTEM_CONFIG_DEV %>')); 

// src/client/app/app.module.ts 
@NgModule({ 
    imports: [BrowserModule, HttpModule, RouterModule.forRoot(routes), AboutModule, HomeModule, SharedModule.forRoot()], 
    declarations: [AppComponent], 
    providers: [{ 
    provide: APP_BASE_HREF, 
    useValue: '<%= APP_BASE %>' // <------- this!?!? 
    }], 
    bootstrap: [AppComponent] 
}) 
:私はexpressを見ないが、私はそれがさらに混乱にするためにpackage.json

に依存関係としてejsが表示されない、次のようになり、いくつかのtypescriptですファイルで同様EJS-のような文があります

だから、この補間はテンプレートの外で働いています!これはどのように作動しますか?この交換を容易にするツールまたはパッケージ私はそれを理解することはできません。私は、サーバーを実行するためthis is the codeを信じる:

/** 
* Starts a new `express` server, serving the built files from `dist/prod`. 
*/ 

export function serveProd() { 
    let root = resolve(process.cwd(), Config.PROD_DEST); 
    let server = express(); 

    server.use(Config.APP_BASE, express.static(root)); 

    server.use(fallback('index.html', { root })); 

    server.listen(Config.PORT,() => 
    openResource('http://localhost:' + Config.PORT + Config.APP_BASE) 
); 
}; 

私はExpressは、アウト・オブ・ボックスEJSのサポートが付属しています、しかし、それは.ejs拡張子を持つファイルを必要と知っています。私はそれが規則的な.htmlファイルを解析するように強制する方法があることを知っていますが、そのコードは角種子プロジェクトに存在しないようです。

答えて

0

私は最終的に私の質問を投稿してから数分であることを理解しました。 Drumroll please ... それはEJ32ではなくgulp-templateです。ビルド時にgulpが設定値に置き換えられていることを単に強調しています。だから、謎は解決した。

+0

これは 'index.html'ファイルについて説明していますが、これがソースコード(' .ts'ファイル)にどのように変換されるのかまだ分かりませんが、 –

関連する問題