ASP.NET核心角度模板:app.module.client与app.module.server

Net*_*ite 16 asp.net asp.net-mvc-4 single-page-application typescript angular

Microsoft提供了一个很棒的模板,用于在ASP.NET Core中开发Angular(而不是AngularJS),如他们的文章" 使用JavaScriptServices在ASP.NET Core上构建单页应用程序 "中所述.

虽然它非常简单,但模板中有一部分让我措手不及:而不是仅仅存在一个app.module.ts文件,它既有一个app.module.client.ts也有一个app.module.server.ts.

<code>ClientApp/app/models</code>和<code>ClientApp/app/services</code>是我加为我自己的目的的两个文件夹; 它们不是模板的一部分.此外,<code>app.module.shared.ts</code>实际上非常直接,只是防止必须编写两次代码,所以不要担心它.</p>

<p>这是两个文件的样子:</p>

<p><a rel=<code> app.module.client.ts </ code>和<code> app.module.server.ts </ code>代码并排

小智 4

首先我要说的是,我并不是 100% 相信这个说法的准确性,但由于似乎没有其他人回答过,所以我会尝试一下。

Microsoft SPA with Angular 2 利用 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 文件并不重要。

  • 啊好吧。用法又如何呢?例如,当您声明一个组件时,它应该放在客户端、服务器还是共享中?供应商呢?进口?一个好的经验法则是将所有内容都共享吗?是否存在一种情况,应专门将某些内容放入一个文件而不是另一个文件中? (2认同)