angular - Typescript + Angular 2 + ASP.Net Core 1.0 的 .html、.css 等文件应该位于哪里?

标签 angular typescript asp.net-core project-structure

创建 ASP.Net Core 应用程序的 Typescript 教程(带或不带 Angular 2)建议我们创建一个文件夹 Scripts 并使用 gulp 任务仅将 .js 文件复制到 wwwroot 文件夹,例如在构建期间。

现在这是有道理的,但是我们如何处理 Angular 2 可以利用的所有 .html、.css 等文件。看来一般有两种方法:

  1. 将它们添加到 wwwroot 文件夹中。

    • 好处:不需要为这些静态文件添加gulp任务

    • 缺点:我们必须复制文件夹结构并执行两次复制/重命名等操作

  2. 将它们保存在 wwwroot 之外的 Scripts 文件夹中(然后我们最好将其重命名为 Source 或类似的名称) .

    • 优点:无重复,全部集中在一个地方

    • 缺点:我们必须将它们复制到 gulp 任务中的 wwwroot

情况 2 wwwroot 变得像普通应用程序的 bin 文件夹。

是否有关于该主题的任何官方指南/建议(我找不到)可以用作引用?

最佳答案

通常人们使用方法 2,尽管大多数人(包括我)将文件夹称为“app”而不是“source”或“scripts”并通过 gulp 复制它们。

这样做的一个原因是我们可以从源代码管理管理中排除 wwwroot 文件夹。另一个是,对于生产,您希望捆绑文件(html、css 和生成的 *.js 文件),因此您的 wwwroot 文件夹将包含不同的数据集,具体取决于您是否正在开发或正在部署它。

并且由于它的内容会经常更改(每次构建/捆绑)并且它可能会生成相当大且缩小的苍蝇,因此它不太适合源代码控制(缩小/丑化/连接文件很难/困难/不可能创建差异)为了)。

对于特定的 Angular ,您希望将 *.html、*.ts、*.js 和 *.css(仅与组件相关的)保留在同一位置/子文件夹中。 Visual Studio 会自动将它们分组在一起(即 sample.component.htmlsample.component.tssample.component.csssample.component.js 将被分组在一起,您可以通过按分组名称旁边的小三 Angular 形来展开它们),并且它非常适合捆绑,因为可以使用 angular2 css/template component relative path ,如果您使用模块加载器(推荐!)。

关于angular - Typescript + Angular 2 + ASP.Net Core 1.0 的 .html、.css 等文件应该位于哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40328940/

相关文章:

typescript - 将组件作为 'argument' 传递给 Angular 2 中的另一个组件

angular - 将 PubNub 链接到 Angular5 以在网络应用程序中发布数据

c# - 生成 Swagger.json 文件后如何以编程方式访问它

c# - 如何检索 EF Core 中动态属性的值

javascript - 如何在重建 url 后从 URL 传递过滤器值,以使用 Angular2 和 Typescript 实现无限滚动?

angular - NG 服务需要很长时间才能启动

angular - 如何将对象添加到数组的可观察对象

angular - 如何通过路由路径调用组件的指定方法?

javascript - RxJS - 无限滚动 - 在上一个未到达时发送请求

c# - 远程调试 .NET Core Linux Docker 容器 - "the current source is different from the version built into .dll"