【问题标题】:Using and routing Less file in the layout.cshtml in ASP.NET Core 2在 ASP.NET Core 2 的 layout.cshtml 中使用和路由 Less 文件
【发布时间】:2018-09-11 05:09:29
【问题描述】:

我在我的项目中使用了a template for admin section (bootstrap admin template),并从Bower 安装了它,我已经应用了ASP.NET Core 2

当我运行项目时,我收到一个错误:

文件错误: 'http://localhost:52125/lib/bootstrap-admin-template/public/assets/less/theme.less' 未找到 (404)

在theme.less中

但文件theme.less 存在于路径中!!我不知道为什么浏览器无法识别该文件。

为了路由 theme.less 文件,我做了:

<link rel="stylesheet/less" type="text/css" href="~/lib/bootstrap-admin-template/public/assets/less/theme.less">

我该如何解决这个问题?

【问题讨论】:

标签: html asp.net razor asp.net-core less


【解决方案1】:

显然,Less 文件不能直接在asp.net core 2 项目中使用。它必须首先被编译。 在此链接中,您可以了解如何编译 Less 文件。

https://docs.microsoft.com/en-us/aspnet/core/client-side/less-sass-fa

【讨论】:

    【解决方案2】:

    在 StaticFiles 中间件的documentation 中:

    如果用户请求一个未知文件类型的文件,静态文件中间件会返回一个 HTTP 404(未找到)响应。

    这似乎就是这里发生的事情。如果您想减少服务,则需要add a mapping

    var provider = new FileExtensionContentTypeProvider();
    provider.Mappings[".less"] = "plain/text";
    
    app.UseStaticFiles(new StaticFileOptions
    {
        ContentTypeProvider = provider
    });
    

    【讨论】:

    • +rep thx 兄弟,你拯救了我的一天!!!我尝试了超过 10 种不同的解决方案,但你的工作....感谢 agian
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 2018-04-15
    • 1970-01-01
    • 2018-05-29
    相关资源
    最近更新 更多