创建 ASP.Net Core 应用程序的 Typescript 教程(带或不带 Angular 2)建议我们创建一个文件夹 Scripts 并使用 gulp 任务仅将 .js 文件复制到 wwwroot
文件夹,例如在构建期间。
现在这是有道理的,但是我们如何处理 Angular 2 可以利用的所有 .html、.css 等文件。看来一般有两种方法:
将它们添加到
wwwroot
文件夹中。好处:不需要为这些静态文件添加gulp任务
缺点:我们必须复制文件夹结构并执行两次复制/重命名等操作
将它们保存在
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.html
、sample.component.ts
、sample.component.css
和 sample.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/