【问题标题】:Asp.Net Core 2.1 Static FilesAsp.Net Core 2.1 静态文件
【发布时间】:2019-10-26 02:59:09
【问题描述】:

通常我们会将css 与like 链接

<environment include="Development">
        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="~/css/site.css" />
        <link rel="stylesheet" href="~/css/IndexCss.css" />
    </environment>

但是我可以链接文件夹吗? Cus有太多的css需要链接... 或任何建议

【问题讨论】:

  • 不,您不能加载整个文件夹。您必须为每个文件创建一个链接。
  • @ADyson 使用 ASP.NET Core,您的评论不准确。
  • @Serj Sagan 我知道,但这个问题专门询问了有关直接创建文件夹链接的问题。我同意捆绑是一个很好的解决方案,但它仍然可能会在 HTML 中生成大量链接标签(取决于您如何配置它),即使这样,它仍然是指向生成文件的链接,而不是文件夹。所以是的,也许我有点太狭隘了,但就问题的严格语义而言,我是正确的

标签: html css asp.net asp.net-core


【解决方案1】:

ASP.NET Core MVC 带有一个内置的捆绑器和压缩器,因此许多 CSS 文件可以合并为一个,JavaScript 文件也是如此。

只需在项目的根目录下创建一个名为 bundleconfig.json 的文件,其内容如下:

[
  {
    "outputFileName": "wwwroot/css/site.min.css",
    "inputFiles": [
      "~/lib/bootstrap/dist/css/bootstrap.css",
      "~/css/*.css"
    ]
  },
  {
    "outputFileName": "wwwroot/js/site.min.js",
    "inputFiles": [
      "~/js/*.js"
    ],
    "minify": {
      "enabled": true,
      "renameLocals": true
    },
    "sourceMap": false
  }
]

更多信息在这里: https://docs.microsoft.com/en-us/aspnet/core/client-side/bundling-and-minification?view=aspnetcore-2.2&tabs=visual-studio

【讨论】: