Microsoft提供了一个很棒的模板,用于在ASP.NET Core中开发Angular(而不是AngularJS),如他们的文章" Building Single Page Applications on ASP.NET Core with JavaScriptServices"中所述。
虽然它非常简单,但模板中有一部分让我措手不及:而不仅仅是app.module.ts
文件,还有app.module.client.ts
和{ {1}}。
我在网上找不到任何可以解释这一点的内容。有没有人知道为什么app模块有这两个单独的文件,它们的具体用途是什么,如何使用它们等等?
如果它有帮助,这就是完整模板的样子:
我应该注意app.module.server.ts
和ClientApp/app/models
是我为自己的目的添加的两个文件夹;它们不是模板的一部分。此外,ClientApp/app/services
实际上非常简单,只是防止必须编写两次代码,所以不用担心。
以下是两个文件的外观:
答案 0 :(得分:4)
首先让我先说明我对此陈述的准确性不是100%,但由于其他人似乎没有回答,我会给它一个机会。
使用Angular 2的Microsoft SPA使用Angular Universal进行AOT渲染。它现在已升级为使用Angular 4,它不使用Angular Universal。我的想法是,它将app.module.ts分解为客户端和服务器文件,以帮助进行AOT渲染。
app.module.shared.ts文件实际上只是app.module.client.ts和app.module.server.ts使用的全局常量。因为在发布期间它们都被渲染成了几个js文件,所以它们拆分app.module文件并不重要。