为啥 LESS css 在 localhost 上不起作用

Posted

技术标签:

【中文标题】为啥 LESS css 在 localhost 上不起作用【英文标题】:Why LESS css does not work on localhost为什么 LESS css 在 localhost 上不起作用 【发布时间】:2013-08-06 02:21:04 【问题描述】:

根据tutorial,我的 less 代码应该可以工作,但不能。

你能帮我让我的less css工作吗?

现在它不起作用 - 页面加载时没有应用样式。我做错了什么?

错误是:

FileError: 'localhost:1/styles.less' was not found (404) in styles.less

但它在根目录中吗?

HTML

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title></title>
    <link rel="stylesheet/less" type="text/css" href="styles.less">
    <script src="_/script/less-1.4.1.min.js" type="text/javascript"></script>

</head>

<body>

    <div id="header">test</div>

    <h2>test h2</h2>

</body>

</html>

styles.less

@color: red;

#header 
    color: @color;

h2 
    color: @color;

【问题讨论】:

查看chrome开发者工具,确保less/js确实被加载了 点击 styles.less URL 时会发生什么?它会从 less 中渲染 css 吗? -1,请修改此问题,以便将来有类似问题的流浪者有用。事实上,您的问题过于本地化(或者至少您的描述措辞过于笼统)。 我以为这是一个问答网站 Works as expected in plunker. 【参考方案1】:

在我的例子中,我在 ISS 上已经有了 .less 的 mimeType,所以我检查了我的网站的 Web.config 文件并删除了以下行,因为它导致了重复:

<mimeMap fileExtension=".less" mimeType="text/css" />

【讨论】:

【参考方案2】:

我使用的是 IIS 7.5,但这对于其他 IIS 版本可能是相同的:

必须将 less 的 mime 类型添加到 IIS。但就我而言,我必须使用 IIS 管理器将其添加到“默认网站”,而不是添加到我的应用程序,以便能够从浏览器加载更少的文件。

【讨论】:

【参考方案3】:

我也遇到过这个问题。

上述修复均无效,但是当我检查了存储 less.css 文件的文件夹访问权限时,我确实设法修复了它。

添加 IUSR 用户对文件夹具有读取权限允许正确分发文件。

【讨论】:

【参考方案4】:

假设网站托管在 iis express 上,打开文件

C:\Users\\Documents\IISExpress\config\applicationhost.config

然后搜索标签&lt;staticContent lockAttributes="isDocFooterFileName"&gt;

并添加 .less MIME 如下

<mimeMap fileExtension=".latex" mimeType="application/x-latex" />

&lt;mimeMap fileExtension=".less" mimeType="text/css" /&gt;

<mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" />

【讨论】:

【参考方案5】:

如果您使用的是 IIS,则必须在 IIS 管理器中为 MIME 类型添加“.less”扩展名。添加新 MIMI 时,输入“.less”作为扩展名,输入“text/css”作为 MIME 类型。

【讨论】:

【参考方案6】:

感谢大家的帮助 - 结果是我的 localhost 没有提供 mime 类型 .less

【讨论】:

要让您的 localhost 服务于 mime 类型,请更改文件:apache/conf/mime.types。找到css类型的那一行,加上less,像这样:text/css css less【参考方案7】:

您的文件的源位置似乎不正确。

<script src="_/script/less-1.4.1.min.js" type="text/javascript"></script>

我从未见过“_”可以用于导航。实际上,如果脚本文件夹与html页面在同一目录下,那么

<script src="script/less-1.4.1.min.js" type="text/javascript"></script>

应该足以在您的页面上有一个有效的 js 文件。

【讨论】:

我将脚本放在一个名为“_”的文件夹中,其中包含所有内容。前几天我在一个例子中看到了它,我想试试看。感谢您的帮助,但来源是正确的。 啊这样啊...嗯,每个浏览器都有一个页面源(在 Firefox 上是 Ctrl + U)。在那里,您可以单击链接,也可以单击脚本。请点击它,看看它是否显示你的脚本文件的内容。

以上是关于为啥 LESS css 在 localhost 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章

为啥用less css来写样式,只在火狐里有效,IE 和 chrome都无法识别,我是在客户端使用的哈!

为啥应用于 bootstrap.css 的更改在发布时不起作用,但在 localhost 上起作用?

为啥我的 CSS 在使用 xampp 的 localhost 中不能正常工作,但在本地或从 Netlify 站点打开相同的文件时工作正常?

预测在高负载项目上安装 LESS、CSS3PIE 的后果

CSS预处理——LESS

CSS预编译语言Less的用法总结