多くの可動部分を持つ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
ファイルを解析するように強制する方法があることを知っていますが、そのコードは角種子プロジェクトに存在しないようです。
これは 'index.html'ファイルについて説明していますが、これがソースコード(' .ts'ファイル)にどのように変換されるのかまだ分かりませんが、 –